WINDOWS 3.1 vs. 0S/2-BATTLE OF THE TITANS
LOW-COST LASERS!
10 TOP PRINTERS TESTED
WORTH THE WAIT?
POWER CHIPS: PAST,
PRESENT, AND FUTURE
COMPARED
HACKERSPEAK
START YOUR OWN BBS
VIRTUAL REALITY
1
U.S. $2,95
1 | 93
ty)
ll
Overe
3
64/128 VIEW
This month, I'll introduce readers to
the editorial staff members
who edit the pages of Gazette.
Tom Netsel
his month, readers who
subscribe to Gazette
and Amiga Resource
will have a chance to
meet the editors who pro-
duce those sections
As editor of Gazette, I’m
lucky enough to have the
help of technical editor
Bruce Bowden. Bruce an-
swers many of the questions
that appear in Gazette's
“Feedback” column, and he
serves on the committee
that selects type-in pro-
grams. Bruce describes his
ul to “the greatest 8-bit
computers ever built.”
I'm the other Gazette
staff member. | joined COM-
PUTE's features department
in 1987, coming from a
mixed background of elec-
tronics, photography, and
ournalism. The first stems
from an interest in amateur
radio that led to electronics
training in the U.S. Navy fol-
lowed by a stint at Cape Ca-
naveral during the Apollo/
Saturn V days
From the Cape, | moved
Gazette's editorial staff consists of edi
technical editor Bruce Bowden
journey from a math and
physics background to com-
puting as “a natural exten-
sion of an abiding interest in
formal systems.”
Bruce bought his first 64
in 1984 and began making
his mark writing unique share-
ware programs—probably
the best known of which is
Graphic Assault System, a
graphic utility.
He joined the COMPUTE
staff in July 1990 and di-
vides his time between Ga-
zette and other technical
and online service duties
(He is known as Sourceror
on QuantumLink.) Though
the IBM is his principle tool
these days, he remains faith-
Tom Netsel (left) and
to New York to study photog-
raphy. That field eventually
led me back to central Flori-
da as a photojournalist
In the early 1980s, | grav-
itated from the newspaper's
darkroom to its newsroom,
trading my Nikon for a word
processor. A short time lat-
er, | picked up a degree in
journalism and a computer.
A professor at the Univer-
sity of Central Florida in
Orlando recommended a
new model called the Com-
modore 64. | tried it, liked it,
and bought it. Commercial
software for it was scarce
then, but | found COM-
PUTE!'s Gazette and began
typing in programs. a
GAZETTE
64/128 VIEW G-1
Meet the Gazette editorial staff. By Tom Netsel.
WORD PROCESSING WITHOUT GEOS G-2
Should you use a conventional word processor
instead of geoWrite? By Dorothy Hemme.
REVIEWS G-8
GeoWizard, geoVideo, and SID Master.
COMMODORE CLIPS 6-13
New products for the 64/128.
WORLD VIEW G-14
The Commodore scene in Germany. By Anders
Reutersward.
FEEDBACK G-16
Questions and comments from our readers.
BEGINNER BASIC G-18
Take a look at some of the unique keys found only on
64 and 128 keyboards. By Larry Cotton.
MACHINE LANGUAGE G-20
Use a fake BASIC program to read a disk directory.
By Jim Butterfield.
D’IVERSIONS G-21
Is life itself just a subroutine? By Fred D'Ignazio.
GEOS G-22
New tools are available on Dweezil Disks for
geoPaint artists. By Steve Vander Ark.
PROGRAMMER’S PAGE G-24
Try these wonderful sounds. By Randy Thompson.
PROGRAMS
SpeedSpeller 128 G-25
La BASIC G-29
SpeedSpell G-31
Dynamic Memory G-35
Scan 64 G-36
Mindboggle G-37
OCTOBER 1992 COMPUTE
GA
|
|
Lt
|
|
RET
Can a GEOS fan find happiness =
using a non-GEOS
a
word processor? Try one of
these and see.
WORD
PROCESSING WITHOUT
GEOS
BY DOROTHY HEMME
EOS is wonderful, and | love
geoWrite. I'm attracted to this
graphics environment by its vari-
ous fonts and type sizes, its pull-down
menus, and its allowing the user to
point and click on icons.
With all of geoWrite’s printing op-
tions, | can tailor my writing to fit my au-
dience, Whenever | write letters to fam-
ily members, its crazy fonts help me
express my mood. At school, when |
want to give my students short, clear di-
rections for an assignment, the 14- and
18-point font sizes are great for empha-
sizing these instructions. So what's the
beef? Why not use GEOS all the time?
It's a great program, and | love it.
My problem is that | also hate geo-
Write. I'm sorry to have to say this, but
it does have its faults. As Steve Vander
Ark mentioned in his November 1991
“GEOS” column, geoWrite is slow and
tends to skip letters when you're
cranked up, typing rapidly. Since | use
a 128, | don’t have as great a problem
as those who use a 64 and have to en-
ter text in BSW font with screen-size
margins so that the computer doesn't
have to keep redrawing the screen.
While GEOS lets me use a number
of fun fonts, its print quality—unless
you have a laser printer—leaves a bit
to be desired for serious correspon-
dence. | don't own a laser printer, |
don't have the funds to invest in one,
and | don't have the time to send off
my geoWrite documents to a printing
service and then wait for the mail to
bring them back.
Since | also use a modem and have
a need to transmit files in true ASCII to
an Associated Press computer, | don't
want to type an article with GEOS,
save it to disk, run a separate spelling
checker program on it, resave the cor-
rected article, pull down the menu to
convert GEOS to a sequential file,
save it again, and then finally load my
terminal program.
| know this will sound like out-and-
out heresy to GEOS lovers, but my so-
lution is to use regular, commercial
word processor programs of the non-
GEOS variety. Although these pro-
grams have no icons to click on and
I've had to memorize a few com-
mands, | feel this minimal investment of
brainpower is worth the effort. For
those of you who have true letter qual-
ity printers and 9-pin dot-matrix print-
ers, regular word processors may be
more to your liking in their versatility,
print quality, and ease of use. Don’t
get me wrong; | still love and use geoW-
rite. But there are times when other
word processors are better for the
task at hand.
A Speedy Solution
I've used several good word proces-
sors upon occasion, and here are
some | can recommend. COMPUTE's
SpeedScript is a great word processor,
and there are versions for both the 64
and 128. Included on the SpeedScript
disk is a conversion program to
change the word processor's screen
code program files to true ASCII se-
quential files. Until recently, | had to
save the file, exit the original program,
load the conversion program, load my
text file, and then switch disks while
the program converts and saves my
sequential file to disk.
| discovered a program on Quantum-
Link called SpeedScript Modified for the
64, It takes any version of SpeedScript
and alters it so that it can load and
save sequential files. The only downside
is that SpeedScript Modified has no 80-
column preview mode. When | write an
article that's to be sent by modem, how-
ever, it doesn't have to be previewed as
a printed page, so a preview feature
isn't important.
If you print hardcopies of most of
your documents, however, the Speed-
Script disk does include an 80-column
preview patch for modifying Speed-
Script. With the press of a couple of
keys, you can see onscreen how your
printed page will look before you send
your document to the printer.
Like many programs, SpeedScript
has a few surprises even for veteran us-
ers. | recently discovered that it does
have an option that will let me print a
file to disk as a true ASCII or Commo-
dore ASCII sequential file. This often-
overlooked format command saves me
the bother of using a conversion pro-
gram. Now | can upload files by mo-
dem with even less hassle. Sometimes
it pays to read the manual!
Separate spelling checker programs
G-4 COMPUTE OCTOBER 1992
are available for both versions of
SpeedScript. These programs must be
run after you've written and saved a
document.
| often have occasion to use hang-
ing indents with Roman numerals
when typing outlines or test questions
and answers, so | need a program
that offers variable margins.
SpeedScript does offer a margin-re-
lease option. With both versions of
SpeedScript, text is formatted automat-
ically with preset page lengths and mar-
gins, but these are easily changed
with a simple format command. Give
this one a try. SpeedScript is quick,
and it uses simple format commands.
It beats trying to drag icons to an ex-
act spot and risking the possibility of
dropping them in the wrong area.
The Fleet’s In
Another solution to my writing prob-
lems when | have specialized needs is
Fleet System by Professional Software.
| have version 2, but I'd like to upgrade
to version 4 for the 128, with its pull-
down menus. Unfortunately, both of
these programs have been discontin-
ued, but copies often show up at
swap meets. In addition to the spelling
checker disk that works within the pro-
gram, version 4 has a thesaurus.
Version 4, like SpeedScript, has
true word-wrap, which makes looking
over your typing much easier. Fleet Sys-
tem 2 doesn’t have word-wrap, which
is a drawback, but it does have advan-
tages of its own. It works with the 64 in
40-column mode and can scroll to 80-
column width for a preview. In 80-col-
umn mode on a 128, it presents an ex-
act view of what's on each page.
Fleet System comes with a short tu-
torial and a detailed but easy-to-under-
stand user's manual. This word proc-
essor has all of the advantages you'd
expect in a commercial word proces-
sor. It can link long files, has local and
global search and replace, has an ex-
tra text area if | need to look at the
disk's directory or other files, and offers
a sophisticated way to move blocks of
text.
All margins in Fleet System are vari-
able; just set them at the top of the
file. Later, if | want to change the mar-
gins, | simply and easily insert a com-
mand to change them inside the doc-
ument. The margins are just like those
found on a typewriter. | can change
them for a Roman numeral outline with
the hanging indents that | need when
preparing question numbers and items
for a test.
When | use a letter quality printer, |
save the file as is with no adjustments.
Like GEOS, | just choose the selecta-
ble printer driver. If I'm printing a test
for students, | normally use a dot-ma-
trix printer. In this case, | use the print-
er’s escape codes and print in double-
strike or near letter quality mode. This
produces printing that is clearer and
easier to read than normal draft mode.
This isn't a difficult operation, folks. Usu-
ally, one embedded command lets me
use a variety of printing options.
If | have to send a Fleet System file
through my modem, | hit one key, and
| can store the file to disk as true AS-
Cll. | cut out all formatting commands,
which are essential only for a printer,
and save text only. All the operations
are accomplished while I'm still in the
word processor. | don't have to
change disks or resave numerous
times to get the ASCII file.
The Right Stuff
With The Write Stuff by Busy Bee Soft-
ware, | believe | have found word proc-
essor nirvana for the 64 and 128. Yes,
folks, it slices, it dices, and it makes
quick work of any writing chore. For
me, it has the right stuff.
The Write Stuff is much more com-
plex than SpeedScript and Fleet Sys-
tem, so you'd expect a thick manual
filled with time-consuming tutorials and
explanations. Not so! The manual is
small and thin, but the word process-
ing disk itself contains 68 help files
that you can load and read while still in
the word processor. Use them as you
need them, or use the Manual Maker
program to print out all of the help
files to read later.
Busy Bee states that The Write Stuff
is not only a “full-featured, high produc-
tivity” word processor, but that it's also
“intended for use by beginners, chil-
dren, and occasional users.” This is ac-
complished through a command line at
the top of the screen that offers only
five options: Help, Edit, Print, Save,
and Load. A novice can start typing
right away, save what’s been written,
and then hit the Print command. A
print menu lets you select options
such as Double Space, Margins, Line-
feeds, Justify, Number of Copies,
Start at a Given Page, Wait Between
Pages, or Preview on an 80-Column
Screen. In the Edit mode, you can Eat
Text (delete it) by word, sentence, and
paragraph; restore deleted text; or
clear all text above or below the cur-
sor. Nothing has to be memorized or re-
ferred to in order to type and print a
draft. Neat, huh?
More experienced and sophisticat-
ed users, however, will appreciate the
program's gamut of features. Once
past the novice type-and-print stage,
you'll want to explore and use these
powerful options, with the help of The
Write Stuffs enclosed cheat sheet.
modore”™
IGA
CG com
Amiga 500 Computer
Basic Package
> gal
ics Pack
TENEX Super Graphics
Package
| TENEX Power Pack SS Forte
Plus 3 Great Value Packages: Power Pest sc package eee
*Software Bundie #1 sana fe on
TENEX Bonus Pack *Software Buncle #2 & Joystick “Smorsninae 2 ote |
i kage Soh
swore ™ : ae geo Memory Expansion oe 3 Sie Ais si :
; 454.75 otal 3 4 °
Tv Adapter $364.85 _TotalatReg Price eles : pay Tote Pookoge Pee ait Roy
Totolot Rea Frage rice $339.95 Low reNexPackoge rice, SFR ne
x 90 More!
You Save $24.
des: Masterlype. F-40 Pusut
M are Bundle # 2 inclu 1 be paroheres
softwore Buncle #1 Includes fas. Ynereh STE manatenivnere onstee O°®
the World is Carmen Sandiego. O°* = eT
Commodore-Ready Printer
At An Incredible Price! Only .
$1499 53
$1 19% aay 149 ae) i
THE COMPUTER PRINTER
STAR NX-1000C
Njoy near-letter Quality at 36 cps and high-
speed draft at 144 cps, Features ino cae
paper Parking function and convenient
font Panel controls, Includes four built-in
22 fonts and over 20 typestyles. This is the
nl Commodore-ready version of thi -
> Just plug it in and start pigtingere Gog |
Sq tional interfaces or cables required,
. Sug. Retail $299.00 x
NX-1000C Printer 75060 $179.95- in ore 1541 Il
Ribbon (NX-1000C) an $119.95 Comme a :
Dust cover 77789 $5.95 Disk Drive
$8.95
Only
O — one
THER STAR PRINTERS CARDPRINT G-WIZ INTERFACE.
4 NX-1001 Multi-Font Connect any printer to you! \
-¥ NX-2420 Rainbow Popa peti high-res screens up to 8 ee ee $ 1 69”
NX.1020 Rabo “ASi0ae Bere Geosnite interfaces without buffers. 90-day
J . franty. Fro i
LaserPrinter 4 A5S7934 $799.00 GWisinede 34a8 seal Ad
Don’t miss out on the lowest prices on
the Amiga 500, plus a full line of
Commodore and Amiga hardware,
software, and accessories.
Call today to receive your FREE
catalog with the greatest prices on the
most popular hardware and software!
Shipping, Handling, Insurance
Order Amount Charge &
ms less than $19.99 $4.95 5
S24 22> S> © 56600 Magnetic Drive $20.00$88 88 sos 3
es Mishawaka, IN 46545 $75.00-$99.99 $7.95 :
= = _ = S =_ == _—_219)259-7051 FAX (219)259-0300 $100.008149.99 sass 8
= = = _ We gladly accept mail orders! $200.00'599.00 si20s B
Computer Express Circle Reader Service Number 170 $500.00-$609.99 si995
an GTEr: 9 a 3
Order Today! Call 1-800 -FROMPT-1 OSes PRAT e ie
COMMODORE 64 and COMMODORE 128 are registered trademarks of Commodore Electronics, Ltd. AMIGA is a registered trademark of Commodore Amiga Inc., NOTE: Due to publishing &
leacttimes, product prices and specifications are subject to change without notice. “APO, FPO, AK, Hl, CN, VI, GU, and foreign orders are subject to additional shipping charges. a4
First off, both the 64 and 128 pro-
grams come with Busy Bee Speller. In
version 1, the speller.is a stand-alone
program that can’t be accessed from
within the word processor. That puts
you back in the SpeedScript and
GEOS category, saving your text, exit-
ing the program, loading the spelling
checker, and then saving the correct-
ed text.
In version 2, however, the spelling
checker boots with The Write Stuff and
can be used from within the program.
The great thing about this spelling
checker is that it doesn’t just flag sus-
pected words from its dictionary and
force you to look them up. For good
spellers, BB Speller has a quick 17,000-
word dictionary that finds most com-
mon words for fast typo checking. If
you're a poor speller, an additional
61,000 words kick in. You can select
an option that will automatically correct
your spelling. There's none of that time-
consuming business of trying to look
up a word when you don’t know how to
spell it in the first place. In addition,
you can add 15,000 words of your own
and delete those that you don't need.
The Write Stuff offers a multitude of
features that let you get as complicat-
ed as you want. By progressing
through the features in stages, complex-
ity isn't forced upon you. A Menu Mak-
er lets you create custom disk menus,
edit program names beyond the usual
16 characters, and add comments.
Thus, instead of trying to remember an
exact program name to load, you can
search through a menu of meaningful
filenames, complete with brief descrip-
tions. Children and poor typists will
like the fact that they can use the cur-
sor to load files.
Like SpeedScript, The Write Stuff
saves text as program (PRG) files in
screen code, but you can save text as
sequential (SEQ) files with the press of
a key. If you have files from
SpeedScript, Easy Script, PaperClip,
Fleet System, or other word processors
and want to convert them for use with
TWS, the program offers automatic file
translation for ten different word proc-
essors. | loaded Fleet System USR
files and successfully converted them,
including the embedded format com-
mands. With the press of a key, you
can opt for word-wrap or you can see
an edge effect, the term for the white
space that surrounds your text on the
printed page.
The Write Stuff has many more fea-
tures as well. To compare different ver-
sions of a file at the same time, you
can opt for a split screen. TWS rivals
GEOS and other graphics-based word
processors by letting you print in dou-
ble columns for simple desktop publish-
G-6 COMPUTE OCTOBER 1992
PRODUCT BOX
The Write Stuff
Busy Bee Software
P.O. Box 2959
Lompoc, CA 93438
(805) 736-8184
Commodore 64—$19.95
with Busy Bee Talker—$24.95
with Busy Bee Speller—$29.95
with Busy Bee Speller and Busy Bee
Talker—$34.95
Commodore 128, 80-column—$29.95
with Busy Bee Speller—$39.95
SpeedScript
COMPUTE Publications
324 W. Wendover Ave., Ste. 200
Greensboro, NC 27408
(919) 275-9809
Commodore 64 and 128, 40-column and
80-column plus utilities—$11.95
Word Writer 6
Timeworks
625 Academy Dr.
Northbrook, IL 60062
(708) 559-1300
Commodore 64 and 128; 40-column
with dictionary, thesaurus, art library,
fonts—$49,95
ing. You can also add soft hyphens i
you want words to get as close as pos-
sible to the right-hand margin but don’
want to use justification.
The Write Stuff also supports the Su-
per Graphix printer interface, RAM ex-
panders, sorting by columns, file secu-
rity, and alternate fonts such as Ga-
zette programs Ultrafont+ (September
1986) or Excelfont 80 (June 1988). Writ-
ers and students should like its handy
outliner. About the only feature this pro-
gram doesn't have is a thesaurus.
One additional feature that comes on-
ly with the 64 version is Busy Bee Talk-
er. BB Talker uses SAM (Software Au-
tomatic Mouth) from Tronix Software to
read aloud anything you've written
with BB Writer. This is a great feature
for reading stories to children or for let-
ting them create their own and having
SAM read their stories to them.
The GEOS Substitute
If your old word processor seems out-
dated and if you'd like to upgrade to a
newer one that can print different
fonts and has graphics capabilities but
you don't want to invest in GEOS, then
take a look at Word Writer 6. This Time-
works program for the 64 and 128 in
40-column mode offers both plain and
fancy word processing capabilities.
You can print text in different size
fonts and even insert small graphics.
Don’t expect to rush through this
word processor and become an expert
the first time you try it. Word Writer can
do much, but it’s complicated and
takes time and effort to get up and run-
ning. It’s not for children or the occa-
sional user.
The 166-page manual says Word
Writer is “a complete writing environ-
ment for memos, manuscripts, and eve-
rything in between.” That may be true,
but learning to use it takes some effort.
It was like trying to install GEOS and
making all those disks the first time out.
First off, you can’t just boot up the
disk and start typing. You have to
make a backup disk containing all the
files and fonts you think you'll need.
That takes up a lot of space, so you
can't store many documents on a
disk. When the disk is full, you have no
choice but to make another backup
disk.
The manual does have a section for
getting started quickly, and the pro-
gram comes with a cheat sheet to
help you become familiar with the com-
mands. When you run the program, sev-
eral help screens are available to ac-
quaint you with various features.
Although the program supports a va-
riety of printers, nothing is truly automat-
ic. It took me an hour to get a sample
text file printed correctly with a Super
Graphix interface and Star SG-10 print-
er since that combination wasn’t on the
automatic-setup list.
The Final Word
When it comes to commercial word
processors, this die-hard GEOS fan
finds that she can crank them up and
type faster with them than she can
with geoWrite. | don’t have to wait for
the screen to redraw because |’m not
using a graphics-based processor. |
don't drop icons accidentally or have
to reset them, trying to get proper mar-
gins, paragraph indents, and tabs on
the exact spot. Also, what | see in the
preview for both the 64 and the 128 is
exactly what |’ll get on the printed
page.
| have to give up most of the fancy
fonts | use with GEOS, and I’m con-
fined to 12-point type unless | load ex-
ternal fonts. But that’s not truly a prob-
lem. | find | do most of my work with
standard typefaces and ASCII files any-
way. Because I’m usually in a hurry
and don’t want to wait for all the disk
saves and loads or for the screen to re-
draw, | often find | don’t need the graph-
ics or fancy fonts of geoWrite. I’m not
saying goodbye to geoWrite; I'm just ad-
mitting that commercial word proces-
sors do make my life easier. 0
Dorothy Hemme teaches high school
in Sugar Land, Texas. Like any good
teacher, this GEOS fan keeps an open
mind to computing alternatives.
Fun Graphics Machine
FUN GRAPHICS MACHINE (FGM) 1S AN “ALL-IN-ONE” GRAPHICS
PROGRAM FOR THE C=64, WHAT CAN BE CREATED WITH FGM IS
ONLY LIMITED BY YOUR IMAGINATION, JUST A FEW EXAMPLES:
BUSINESS CARDS
cus. L$
ING
FUN GRAPHICS mAi
K
SUPPORTS
HI-RES SCREENS U
|
IRNY POPULA’
£0
GEOS SCREENS CAN BE CAPTURED SIMPLY BY RESETTING
COMPUTER THEN LOADING THE FUN GRAPHICS MACHINE
FEM CLIP ART VOL,1 OVER 200 EXCELLENT GRAPHICS- $8.0)
FGM FONT DISK OVER 90 FONTS IN FGH FORNAT~----~ $5.00
C=64 KEYBOARD TEMPLATE NAKE vOUR OWN OVERLAYS-- $5,00
C=128 KEYBOARD TEMPLATE HAKE yYouR OWN OVERLAYS- $5.00
FGM CALENDAR TEMPLATES OAILY, WEEKLY, MONTHLY-- $5.00
FULL KEYBOARD OVERLAYS FOR THE FOLLOWING PROGRAMS Cea
CMO’S HARD ORIVE, RAMLINK, RAMDRIVE JIFFY DOS COMMANDS
SNAP SHOT 5 ACTION REPLAY 4&5 EPYX FAST LOAD
(5 BUSINESS FORM SHOP CALC STAR BASIC 9 5Qen
ROCK’S ASSEMBLER (S80 THE FUN GRAPHICS MACHINE A
PLEASE STATE COMPUTER (C64,C128,SX-64) OR C64 IS SHIPPED
P.O. Box 2206 44
Roseburg. OR. 9747084
(503)-673-2234
ADD $3.50 FOR S/H PER ORDE!
New * Big Blue Reader 128/64 - 4.0
Transfers word processing, text, ASCII, and binary files between
C64/128 and IBM PC compatible 360K 5.25" and 720K 3.5" disks
New Version 4.0 features: Transfers ASCII, PET ASCII and Screen
Code files including: WordWriter, PocketWriter, SpeedScript, PaperClip,
WriteStuff, GEOS, EasyScript, Fleet System and most others
Supports drives # 8-30. New Backup (C128) and Format (1571/1581)
programs. Reads MS-DOS sub-directories, uses joystick, and more.
Includes C128 & C64 programs. Requires 1571 -or- 1581 Disk Drive.
Big Blue Reader 128/64 - 4.0 only $44.95
Version 4.0 upgrade, send original BBR disk plus $18.
Bible Search 3.2
. Complete Old & New Testament text on (4) 1541/71 or (2) 1581 disks.
. An Exhaustive English Concordance on (2) 1541/71 or (1) 1581 disks
Includes more than 700,000+ references,
Incredible five (5) second look-up time, per/word, per/disk.
. Instant, automatic spell checking of more than 12,800 words.
. Wildcard and Boolean AND, OR & NOT search options.
. Search the entire Bible in 5 seconds with 1581 or HD (version 3.52).
. Money Back Guarantee!
Features: C64 & C128 programs; screen, printer and disk output;
users guide, disk case. Available on (7) 1541/71, or (4) 1581 disks.
KJV $49.95 | NIV $59.95 | Both $90
ex Any questions? Call or write for more information.
Order by check, money order, or COD. US funds only.
ts FREE shipping in US. No Credit Card orders.
Canada & Mexico add $4 S/H, Overseas add $10 S/H ($5 BBR)
SOGWAP Software F (219)724-3900
115 Bellmont Road; Decatur, Indiana 46733
es
NOOR
Th
GRAPEVINE GROUP ,...
Inc.
COMMODORE UPGRADES
" SPECIALS
* e COMPUTER SAVER: This C-64 Protection System saves you costly repairs.
t Over 52% of C-64 failures are caused by malfunctioning power supplies that
destroy your computer. Installs in seconds between power supply & C-64, No
soldering. 2 year warranty. An absolute must and great seller .. . $17.95
© PRINTER PORT ADAPTER by Omnitronix. Avoid obsolescence. Allows you to
use any Commodore (C-64) printer on any PC compatible or clone. Does not
* work with Amiga. .. . $34.95
512K RAM EXPANDERS
By special arrangement with Commodore, we are able to purchase ata fantastic
price 400 of the original 512K 1750 RAM expander units for your C64 or C128
computer. Now keep up with the latest technology. Upgrade to 512K with a
} simple plug-in module. Completely compatible and comes with software. If you
have a C64 you will need a heavier power supply (4.3 amp), which we will give
you for $31.00, C128 users do not need this power supply. This is the original
Commodore unit with over 800,000 sold..
Super 1750 REU CLone (512K). Does not req 9 ,
COMMODORE DIAGNOSTICIAN II
Originally developed as a software package, then converted to a readable
format, the Diagnostician has become a fantastic seller. With over 38,000 sold
worldwide, Diagnostician Il utilizes sophisticated cross-reference grids to locate
faulty components (ICs) on all C-64 and C1541 computers (C-128/64 mode).
h Save money and downtime by promptly locating what chip(s) have failed. (No
equipment of any kind needed.) Success rate from diagnosis-to-repair is 98%.
Includes basic schematic ... eee ++ $6.95
(Available for Amiga computers with 3¥2" disk at $14.95)
NEW POWER SUPPLIES
© Asuper-heavy, repairable, “not sealed” C-64 power supply with an output of
4.3 amps (that's over 3x as powerful as the original). Featuring 1 year warranty,
ext, fuse, schematics, UL approved . $37.95
(includes bonus Commodore Diagnostician II (valued @ $6.95)
© Our Biggest Seller ® 1.8 amp repairable heavy duty supply for C-64, (Over
120,000 sold,).... . $24.95
REPLACEMENT/UPGRADE
CHIPS & PARTS
6510 CPU
1, 6526 CIA
y@ 6581 SID
6567 Video.
PLA 906114
C1571 ROM Upgrade (310654-05)
C-64 Keyboard (new)
C64 Cabinet (new)
Interface Cables: #690 C64 to 1541/1571 disk driv
#693 C64 to 3 pin RCA (eg. 1084)
1541/1571 Drive Alignmen
Super Graphics by Xete’
Service Manuals for C64, C428, 1802, 1084SP, 1541
+ EMERGENCY STARTUP KITS +
Save a lot of time and money by repairing your own Commodore computer. All
chips are direct socket plug-ins (no soldering). Each kit includes all you need to
“start up"/revive your broken computer. Originally blister packed for the
government PXs worldwide, this series is now available to you. Total cost
savings per kit far exceeds purchasing chips on an individual basis
KIT #3 (Part #DIA 15) for C64
Symptoms: No power up ® Screen lock up ® Flashing colors * Game
cartridge problems
Contains: ICs #PLA/82S100/906114, 6526, Commodore Diagnositician,
Fuse, Chip Puller, 8 RAMs, Schematic, Utility Cartridge & special
diagnostic test diskette with 9 programs
An $87.50 value for only $29.95
KIT #4 (Part #DIA 16) for C64
Symptoms: Control Port * Sound ® Keyboard ¢ Serial device problems
Contains: ICs #6526, 6581, 8 RAMs, Commodore Diagnostician, Fuse, Chip
Puller, Basic Schematic, Utility Cartridge & special diagnostic test
diskette with 9 programs
A $79.80 value for only $29.95
KIT #5 (Part #DIA 17) for 1541/1571
Symptoms: Drive runs continuously ® Motor won't stop ® Read errors © No
power up
Contains: ICs #6502, 6522, Fuse Chip Puller, Basic Schematic, Commodore
Diagnostician & special diagnostic test diskette with 9 programs
An $70.10 value for only $29.95
Send For Free Catalog
3 CHESTNUT ST., SUFFERN, NY 10901
Order Line 1-800-292-7445 Fax 914-357-6243
Customer Service: 914-368-4242 __ International Order Line: 914-357-2424
We Ship Worldwide Prices subject to change
Hours: 9-6 E.T. M-F 15% Restocking Charge
Tell a friend you've heard it through the Grapevi1
e.
Circle Reader Service Number 145
REVIEWS
GEOWIZARD
You have to expect some-
thing special from a pro-
gram that bills itself as “the
ultimate GEOS utility.” But
when you run this AUTOEX-
EC program, all you see is
an innocuous dialog box tell-
ing you that geoWizard has
been installed in your RAM.
(You need at least 512K.
Smaller RAM units can be
used only at the expense of
the RAM disk.)
That's about it. Life goes
on as usual, and you might
even forget that geoWiz-
ard’s there. But when you
press both buttons on the
mouse (or a key combina-
tion if you use a joystick),
geoWizard pops out of no-
where and shows its stuff.
Whatever you're doing—
working on a document or
moving files around the desk-
Top—freezes, and a new
command window opens at
the top of the screen. This
new menu offers a number
of functions at the touch of a
key combination. At this
point, geoWizard is ready to
go.
Press the Commodore
key and the P key simultane-
ously to dump a screen to
your printer. Such a screen
dump is glaringly absent
from the GEOS system. The
routine will print both 40-
and 80-column screens. On
the geoWizard disk is a
desk accessory that can in-
crease the capabilities of
the screen dump, allowing
you to dump the image to a
photo scrap or a geoPaint
file. Pretty snazzy, but that's
only the beginning of geoWiz-
ard’s capabilities.
You can use another key
combination to rescue you
from those annoying system
error dialog boxes. When
you lock everything up, as
long as the pointer is still
moving on the screen (in oth-
G8 COMPUTE OCTOBER 1992
er words, if GEOS can still
read your input device),
geoWizard is alive and kick-
ing, ready to transport you
back to the deskTop with
your RAM _ disk __ intact.
There's also a command to
do a system reboot, which
starts you over from
scratch. Use this to recover
from the most hopeless
crashes.
All of this is great, but
geoWizard has more amaz-
ing tricks up its disk sleeve.
When you press the Commo-
dore key and either L (for
Load) or D (for Desk acces-
sory), something extraordi-
nary occurs. After present-
ing you with a file selection
box (a much more efficient
one than GEOS usually us-
es), geoWizard opens anoth-
er program for you, right
smack in the middle of what-
ever you're doing. The op-
tions allow you to run a
desk accessory, an applica-
tion, or an AUTOEXEC file
without closing another appli-
cation first. It's a lot like mul-
titasking, and it can really
speed things up.
Let me illustrate. If you're
in the middle of a geoPub-
lish session and you discov-
er that you need to do some
graphics work in geoPaint,
you activate geoWizard.
Press Commodore-L to load
an application, select ge-
oPaint from any active
drive, and you're off. When
you leave geoPaint, you'll
be returned to where you
left off in geoPublish. This
powerful feature alone is
worth the program's modest
price.
As if that weren't enough,
the geoWizard disk includes
MiniDesk, a desk accessory
that works some rather fine
magic of its own. MiniDesk
provides a scaled-down ver-
sion of the deskTop, listing
files by name instead of by
icon and offering several es-
sential file-handling func-
tions: copy, scratch, and re-
name. You can access any
drive using MiniDesk, includ-
ing drive C. While in geoPub-
lish, for instance, you might
discover that you've forgot-
ten to place a text file on
your work disk. No need to
quit geoPublish when Mini-
Desk is around. The needed
file can be retrieved from
any drive and copied onto
your work disk in seconds. If
you're short of disk space,
MiniDesk will let you clear
nonessential files without
leaving the comfort of your
application.
All of these amazing
feats don’t come free. There
are some compatibility prob-
lems because geoWizard
breaks a few GEOS rules to
work its wonders. There ar-
en't many problems, howev-
er, and most of them are de-
tailed in the documentation
that comes on disk as a
geoWrite document. If you
use a utility that’s on the
disk to relocate the geoWiz-
ard code during boot-up,
you can even avoid some of
these problems.
Generally speaking,
geoWizard may conflict with
third-party programs that
may also break rules by re-
writing vectors or areas of
memory that GEOS normally
leaves vacant. One example
is GateWay. There is some
incompatibility, since Gate-
Way's Switcher and geoWiz-
ard’s multitasking fight over
memory space. Such prob-
lems are rare, which is a trib-
ute to Jim Collette’s skills as
a programmer.
In fact, the entire pack-
age is one of the finest piec-
es of user-written software
I've ever seen. The program
is as bug-free and user-
proof as you can imagine. It
cheerfully shows up whenev-
er you call it and tidies up
screen modes and disks be-
fore it leaves. The documen-
tation is clear and complete,
including honest information
about possible pitfalls and a
technical description of how
the magic is done. Try it,
and geoWizard, the ultimate
utility for GEOS, will quickly
become an indispensable
part of your GEOS environ-
ment. You won't know how
you got along without it.
STEVE VANDER ARK
Commodore 64 or 128, RAM expan-
sion with at least 512K, GEOS 2.0—
$16.50
COMM-PLEX SOFTWARE
6782 Junction Rd.
Pavilion, NY 14525
Circle Reader Service Number 341
GEOVIDEO
On the wall by my computer
desk is a scrap of paper,
torn from a notebook that
has long since hit the circu-
lar file. On that piece of pa-
per is a collection of scrib-
bles—SYS commands,
phone numbers, three-line
programs, directory com-
mands, and so on—that I've
accumulated over the
years. | keep telling myself
that I'm going to print a
nice, clean copy one of
these days and throw away
the messy version—but |
know | never will.
That scrap of paper with
its messy scrawl is one of
the most valuable reference
tools | have. It makes no dif-
ference that it looks like
something blown into my
yard from the dumpster
across the street. It gives
me information that | need.
In other words, it's not the
package; it’s the content.
Keep that in mind when you
look at geoVideo. This isn’t
software for your 64; it's a vid-
eotape tutorial for GEOS. It
was put together by a
group of people whose ex-
pertise is GEOS, not video.
I thought my wife
was just forgetting things.
KS
Then she forgot my name.
1-800-621-0379
(In Illinois 1-800-572-6037)
A
10 1988 Alzhewner’s Disease and Related Disorders Association. Inc
Yes, save time and money! Subscribe to the Gazette
Disk and get all the exciting, fun-filled Gazette pro-
grams for your Commodore 64 or 128—already on
disk!
Subscribe today, and month after month you'll
get all the latest, most challenging, and fascinating
programs published in the corresponding issue of
COMPUTE.
New on the Gazette Disk! In addition to the
programs that appear in the magazine, you'll also
get outstanding bonus programs. These programs,
which are often too large to offer as type-ins, are
available only on disk—they appear nowhere else.
As another Gazette Disk extra, check out
8 BIT
PO BOX 542
LINDENHURST NY 11757-0542
DON’T LET A SPILL CAUSE A COMMODORE
MELTROAWN
ONE SMALL MISTAKE COULD DESTROY
YOUR COMMODORE COMPUTER FOREVER
The finest quality keyboard seels are available for your|
Commodore . Custom molded for cach model,
6 PACSETS
EACH SET $5.00
Never Again Wear Off The Print On Your Keys!
Save Your Commodore for ONLY $ 19.00
Order # VS64 .......fits your Commodore 64 or Vic 20
64C
COMMERCIAL SOFTWARE !
CALL FOR ITEM AVAILABILITY !
S
JOYSTICK
ONLY $5.00
MANY ITEMS ARE CLOSEOUT ITEMS ONLY,
AND THE AMOUNT OF STOCK MAY BE LIMITED!
CALL OUR OFFICE TO VERIFY AVAILABILITY !
SHIPPING $2.00 For First Ite + $1.00 cach additional item!
°U.S. Fands Oaly! °SORRY NOC.O.D.'s OR CREDIT CARD ORDERS)
FOR A FREE COPY OF OUR CATALOG, CALL:
(516-957-1110 MONDAY - FRIDAY 10am to 5 pm EST
Alien Syndrome, and Thunderblade !)
Circle Reader Service Number 162
“Gazette Gallery,” where each month we present the
very best in original 64 and 128 artwork.
So don’t waste another moment. Subscribe to-
day to COMPUTE’s Gazette Disk and get 12 issues
for only $49.95. You save almost 60% off the single-
issue price. Clip or photocopy and mail completed
coupon today.
Individual issues of the disk are available for
$9.95 (plus $2.00 shipping and handling) by writing
to COMPUTE, 324 West Wendover Avenue, Suite
200, Greensboro, North Carolina 27408.
YES! Start my one-year subscription
to COMPUTE’s Gazette Disk right away
for only $49.95.* :
O Payment enclosed (check or money order)
OCharge OMasterCard OVisa
Acct. No. Exp. Date
Signature
(Required)
Name
Address
City
State/ ZIP/
Province Postal Code
Mail to COMPUTE's Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430
"Residents of NC and NY, please add appropriate sales tax for your area. Canadian
orders, add 7% goods and services tax.
REVIEWS
You might smile and say,
“Yeah, but hey, they know
what they're talking about,”
and you'd be right. Sort of.
This onscreen duo does
know its subject, but the vid-
eo has some problems.
There are occasional cuts
that clip off part of what's be-
ing said, and the poor im-
age of the computer screen
makes it difficult to see
what's being described at
times. There's the fact that
the cursor has been rede-
fined and doesn't remotely
resemble the pointer novice
users might expect to see
on their own screens, but
these blemishes are minor.
The real problems come
from the fact that, even
though these folks are obvi-
ously experts at GEOS, they
don't impart that expertise in
a logical sense. Instead,
they ramble through a de-
scription of each application
using the menus as a gener-
al guide, throwing in occa-
sional tidbits of vaguely relat-
ed information when the
idea strikes them. To be
fair, they do cover most of
what you need to know
about GEOS, but unless
you're familiar with the pro-
gram to begin with, you'll nev-
er be able to piece it togeth-
er from geoVideo.
Which brings up another
problem. Far too often the
person explaining the pro-
gram uses a keyboard short-
cut to accomplish a task.
Since the video shows only
the monitor screen, the view-
er can’t see what is being
demonstrated! Keyboard
shortcuts are defined even-
tually, but not before they're
used extensively and myste-
riously. Of course, many
GEOS users would know
these shortcuts already and
wouldn't be confused. Then
again, those users wouldn't
need geoVideo in the first
place. The folks who do
G-10 COMPUTE OCTOBER 1992
need a video like this are
the ones who gave up on
GEOS the minute they saw
a manual more than eight
pages long. They need accu-
rate, easy-to-follow instruc-
tions and information.
OK, OK, now | hear some
people accusing me of
nitpicking. Who cares if the
cursor is shaped like the let-
ter K instead of its usual
pointer? And didn’t | say
that the video quality isn't all
that important? Any user
who watches geoVideo will
get some information from it.
It's very interesting to watch
expert users put a powerful
software package like this
through its paces. And the
quality of the screen image
and commentary does occa-
sionally shine, especially in
the geoPaint tutorial. Even a
jaded GEOS junkie like me
can glean some pointers
from other experts.
GEOS is a rich, powerful
operating environment with
a lot of possibilities. New us-
ers watching geoVideo will
certainly get a feel for the im-
mense capabilities of the sys-
tem along with a healthy
dose of information that
they can use. But right
away, we run into another
problem. The information
isn't always accurate.
Early in the video, it’s stat-
ed that the geoRAM device
is inserted into the user
port; actually, it goes in the
cartridge port. The Search
and Title Page functions in
geoWrite are obviously new
to the expert trying to ex-
plain them, since she
doesn't get them right. The
strange effects of colors
bleeding into each other, in-
herent in the Commodore
high-resolution screen,
seem to baffle the presenter
as much as they would a
new user. The Update func-
tion is erroneously declared
to be unnecessary for
geoRAM users.
The list of inaccuracies
goes on and on, and that's
a problem—a big problem.
The makers of this video
should at the very least
have planned exactly what
they were going to say
about each feature before
they switched on the cam-
era. Also, they should have
researched the items that
they were fuzzy about.
So what's the verdict? Is
geoVideo worth the 20
bucks? That depends. Is it a
complete tutorial? Pretty
much. Is it accurate? Fairly.
Is it interesting? For any
GEOS nut, sure. Is it instruc-
tive? It's really too disjointed
and assumes too much for
most novices. If you're an
intermediate user who'd like
to see how that darn graph-
ics importer really works or if
you break out in hives when
confronted with a hefty man-
ual, geoVideo is worth a
look-see.
| certainly compliment the
makers on a good effort, but
unfortunately, they have giv-
en us what amounts to a
first draft that’s still plagued
with errors. What geoVideo
needs is a good final edit.
STEVE VANDER ARK
geoVideo—$20
MEMORY PLUS ENTERPRISES
Box 225
Oakwood, IL 61858
Circle Reader Service Number 342
SID MASTER
“You know, looking at this
program is about as excit-
ing as looking at a belt sand-
er,” David Minnick said to
his coreviewer wife, Robin.
“OK, but a belt sander is
a handy thing to have
around if you're building a
bookcase,” Robin replied.
SID Master is a modest-
looking program—no fancy
frills. Its manual has a sub-
dued, two-tone cover, basic
Courier-style print, and com-
puter-generated diagrams.
Yet, like a belt sander that
makes a tedious woodwork-
ing job easier, SID Master is
a powerful addition that
should be welcome in any
programmer's toolkit.
Indy Software has recent-
ly lowered SID Master's
price, and the manual alone
is worth the modest cost.
This is an excellent hand-
book for understanding
sound, sound production,
and the Commodore SID
chip. Appendices in the man-
ual contain listings of the
SID registers, tables of de-
cay and release times, and
tables of frequency settings
and sustain loudness levels.
This information is available
in Commodore's Program-
mer's Reference Guide, but
it's nice to have it here in a
manual dedicated to sound.
Let's take a look at some
of the material covered in
the manual. | think you'll
agree that it's a great refer-
ence book.
The first chapter provides
an overview of the program
and is mandatory reading.
Subsequent chapters ex-
pand on the properties of
the SID chip, how it works,
and how you can control it.
Chapter 2 deals with par-
ameters applying directly to
the SID chip’s three inde-
pendently controlled voices.
Each parameter is defined
and explained, followed by
an example for experimenta-
tion. Parameters include fre-
quency, pulse width, wave-
form, ring modulation, syn-
cronization, and the enve-
lope generator, which cov-
ers attack, sustain, decay,
and release.
Filter parameters are cov-
ered in chapter 3. The filter
is used to remove high, low,
or middle frequencies of the
waveform.
PUMP UP
YOUR PRODUCTIVITY!
Harness the potential of your, The eum Graphics
64 and 128 with these Sain
Do it all with Commodore
f | graphics!
powertul programs. Here's what's on it-
burst Graphics,
Get more work out of your 64 and 128 see Designer 128
with these two new disk products from 128 Graphics Compactor,
64 Animator, VDC Graphics,
Dissolve 128, Super Slideshow,
128 Animator, 1526 PrintScreen,
Supratechnic, Medium-Resolution
Graphics, Screen Maker, GAS!64—
Special Edition, GAS!128-Special
ORDER
THEM
TODAY!
COMPUTE's Gazette — the 1992
Best of Gazette Utilities, and
the Gazette Graphics Grab
Bag!
The 1992 Best of
Gazette Utilities
Seize control of your operating
system and your world!
Here's what's on it-MetaBASIC 64,
MetaBASIC 128, Quick, Sprint Il,
Ultrafont+, RAMDisk 64, RAMDisk 128,
BASSEM, SciCalc 64, List Formatter,
MegaSqueeze.
Extend Your Computer Power With This Powerful Software!
em Check or Money Order ___ MasterCard _ VISA
| want to pump up my productivity! Please send me the
| ©@ disks checked below at $11.95 each. Credit Card No. Exp. Date
Signature
The 1992 Best of Gazette Utilities Y (Required)
_— The Gazette Graphics Grab Bag Daytime Telephone No. |
_—— Subtotal Name
—— Sales Tax (Residents of NC and NY please add appropriate sales tax for your
area. Canadian orders, add 7% goods and services tax.) Address
_— Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City |
airmail per disk.)
Total Enclosed State/Province ZIP/Postal Code
Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200,
MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408. |
Everything’s included!
Features, games, reviews,
education/home applications,
programming, bugswatter,
feedback, and columns!
A superb interface includes pull-down
menus, help screens, and keyboard,
joystick, or mouse control. Features in-
clude super-fast searching and sorting
capabilities. An options screen allows
you to choose text colors, drive num-
ber, and input device. And there’s full
documentation on disk.
Choose from three modes of opera-
tion—browse for quick scanning, view
for detailed information and descrip-
tions, and edit for adding items from
upcoming issues—and print to any
printer. There’s even a turbo-load op-
tion for maximum disk-access speed.
ORDER YOUR
1991 GAZETTE
INDEX TODAY!
(MasterCard and Visa accepted on
orders with subtotal over $20.)
To order, send $7.95 per disk, the
quantity of disks ordered, check or
money order,* your name and com-
plete street address:
1991 Gazette Index
324 West Wendover Avenue
Suite 200
Greensboro, NC 27408
*Please add $2 shipping & handling ($5 foreign) for
each disk (residents of NC, NJ, NY please add appli-
cable sales tax; Canadian orders, add 7% goods and
services tax).
All payments must be in U.S. funds. Please allow 4
weeks for delivery.
REVIEWS
Chapter 4 explains the digital/analog
meter that is displayed on SID Master's
screen. The meter displays continuous
output of the SID chip's four read-only
registers. This chapter explains how
the registers can be used to generate
sound effects in conjunction with soft-
ware links, parameters that control soft-
ware in SID Master itself. Chapter 5 cov-
ers the creation of complex sounds
with these software links.
Chapter 6 is the one most of us
have been looking for. This is where
you learn how to incorporate sound ef-
fects in BASIC programs. This chapter
provides the background and mathe-
matics necessary to enable you to
take the sounds that you’ve created
with SID Master and put them where
you want them—in your own software.
The mathematics used to convert pa-
rameter values into bytes are present-
ed in a BASIC program that does the
work for you. In no time at all, we
came up with a simple program using
two sounds we created and the num-
bers in the manual for producing two
other effects. Our short demonstration
depicts an annoying noise, an aggravat-
ed assault upon the source of that
sound, then enthusiastic applause, fol-
lowed by authoritative retribution.
A defective power transformer near
our house had been making an annoy-
ing ponging sound, so we used SID
Master to develop a similar sound on
the 64. Then we worked on applause.
We modified a siren whose parameters
were listed in the manual. Then we
took the numbers listed for a gunshot
effect. After converting these numbers
to the appropriate POKEs and adding
some PRINT statements, we came up
with a short program. Imagine that you
are running this program, listening to
the sounds and reading the text that ap-
pears on your monitor.
Sound: PONG! PONG!
PONG!
Text: Will someone please
shut that thing up?
Text: Just a minute, honey.
| have an idea.
Sound: Gunshot.
Text: Good shot!
Sound: Applause.
Text: Jolly good!
Sound: — Siren.
Text: Uh oh!!!
OK, so we're not Jim Butterfield or
even Arlan Levitan—but it worked, and
so does SID Master.
Other programs let you play around
with sound, helping you learn about
waveforms, pulse widths, and sound
envelopes. SID Master takes you a
step further by helping you to use the
sounds that you create. As its name im-
plies, it helps you master the SID chip.
Normally, when you try to program
sound, you have to experiment, trying
out different routines, poking in various
values and settings. This process lets
you alter only a few parameters at a
time, checking the results one by one.
SID Master lets you manipulate all of
them at once. This makes creating and
adjusting sound effects quicker and
easier. All that remains is adding the
numbers to your own programs. (SID
Master is geared toward BASIC pro-
gramming, but it wouldn't take many
more steps to convert the numbers in-
to hex to use SID Master with assem-
bly language.)
There is an art to using SID Master
efficiently. There are nuances to many
of the steps. Certain delay times work
better than others. You may find that
you prefer some filters with certain
kinds of waveforms over others, and get-
ting just the right sound takes some
fine-tuning. But that’s the fun, Our favor-
ite tools are those that are complex in
ability yet simple to operate. They ac-
complish easily in seconds what
would take us hours to do by hand.
Their beauty and elegance lie in their
ability to liberate us from time-consum-
ing tasks. Just as a circular saw, a
drill, and a belt sander are basic pow-
er tools of carpentry, a sprite editor, an
assembler, and now SID Master are ba-
sic power tools of programming.
DAVID AND ROBIN MINNICK
Commodore 64 or 128—$7
INDY SOFTWARE
9725 Alexander Ln.
Fishers, IN 46038
(317) 842-2117
Circle Reader Service Number 343 a]
-——
CORRECTION
In the August issue, we published a
review of S.E.C. Check Register 128.
The version that was sent to our re-
viewer apparently was an early edi-
tion of the program. A spokesman
from Sparks Electronics informs us
that the current version has been up-
graded and improved. New features
have been added and earlier prob-
lems have been addressed. The
price for the new version is $24.95
plus $3.00 shipping and handling,
and the new address is Sparks Elec-
tronics, 5316 South Ninth Street, St.
Joseph, Missouri 64504.
COMMODORE CLIPS
News, notes, and new products
Messiah Is Coming
Messiah Ill: Nemesis (about $59) is a
vast role-playing game for the 64/128
that should be available for Christmas.
The game has more than one meg of
code stuffed on three double-sided
disks. Artists and programmers at Mad
Man Software (7610 West Fifth Street,
Suite 200, Lakewood, Colorado) have
spent more than two years completing
this project.
Messiah III features more than 300 scenes,
50 maps, and intelligent monsters.
Note that Messiah III is R-rated. It
has violence, nudity, and adult situa-
tions. It's also a tough game to com-
plete, designed for high-school intellec-
tuals and up who have role-playing
experience. Mad Man Software's Artifi-
cial Monster Intelligence System
makes each monster fight in its own
unique style. The Mad Man program-
mers claim that these are the smartest
monsters that you've ever faced in a
role-playing game.
CQ Computer Hams
Here's a useful product for 64/128 own-
ers who are also ham radio operators.
They can connect their computers to
VHF hand-held or HF SSB transceivers
and communicate via packet radio.
MFJ Enterprises (P.O. Box 494, Missis-
sippi State, Mississippi 39762; 800-647-
5869) announces a fast, easy, and in-
expensive way for hams to join the
packet action.
The MFJ-1271 ($49.95) modem
plugs into your 64/128's cassette port
and works both VHF packet at 1200
bps and HF packet at 300 bps. An ad-
justable threshold control helps reduce
noise susceptibility to increase contact
success. An LED is also included to let
you know when you're receiving sig-
nals properly.
The MFJ-1271 also sports remote
packet operation, mailboxlike message
forwarding, and Net/ROM emulation,
plus much more. It works with MFu’s
Digicom/64 public domain software.
i> GRAFIX GALORE
(S27 Original Printshop Graphics),
Over 80 super graphics to add sparkle to your Printshop projects! Everything from
sports to spys and pirates to pizza.
Send $11.95 (ine. s/h) add $3 if outside N. America, Specify C-64 or IBM version.
— REQUIRES PRINTSHOP OR GRAPHICS COMPATIBLE PROG. —
C-64 CLIP ART CUPBOARD
P. O. BOX 317774 * CINCINNATI, OH 45231
C-64 Program: "DRAW-PRINT IN COLOR"
FOR STAR NX1000C RAINBOW PRINTER
DRAW AND PRINT YOUR GRAPHICS OR PICTURES IN COLOR
DRAW: Full 320x200 pixel high res. bit map screen « Key press and/or 1351 Mouse crayon control
On screen crayon coordinates for precision « Vertical and horizontal mirror Imaging, re-coloring
PRINT; 4"x2.75" or 8"x5.5" screen dumps In color - No Interfaces needed
FUN TO USE - MANY HOURS OF CREATIVE SATISFACTION
$14.00 check or money order to:
G.P. Software, Box 571, West Long Branch, NJ 07764
SEC CHECK REGISTER 128
Manages personal or small business checking in a fast/efficient manner. Fast data entry,
many bank transactions predefined. Unlimited recurring payees. Up to 750 active file
transactions. History files allow an on going record. Up to 999 reference (account)
numbers, Easy editing with many powerful commands. Reports printed by, Outstanding
Transaction, Transaction, Reference Number, Reference Number & Date, Date, Date &
Random Reference Number, or Payee. Print any type of personal or form feed check.
Supports all 15XX and Hard Drives. Compatible with all currently available DOS cartridges
and ROM chips. Custom video fonts. Spiral bound lay flat manual and much more. System
requirements: C=128 with 80 column RGB or Mono. monitor, FREE with each order SEC
Financial Calc, 128 TO ORDER: Send Check or Money Order for $24.95 + $3.00 S&H to:
SPARKS ELECTRONICS, 5316 So. 9th, St. Joseph, MO 64504-1802
Circle Reader Service Number 252
Big Bucks
Everyone loves cash, and the bigger,
the better. With this in mind, Banner
Band (533 North Wolf Road, Wheeling,
llinois 60090; 800-333-0549) has cre-
ated Banner Cash ($14.95). Banner
Cash is computer paper that looks like
ONLY
ON DISK
Here's the bonus program that you'll
find only on Gazette Disk.
DOC BLOCK
By Kathleen Hobby
Evansville, IN
Use this handy block access pro-
gram to read and edit the contents
of any block on any 1541 or 1571
disk.
Order the October Gazette Disk.
The price is $9.95 plus $2.00 ship-
ping and handling. Write to Gazette
Disk, COMPUTE Publications, 324
West Wendover Avenue, Suite 200,
Greensboro, North Carolina 27408.
a giant ten-dollar bill. Retail store own-
ers can use Banner Cash to print sale
banners. It also makes great birthday
greetings. There are 245 Banner Cash
dollars on each roll of paper.
In addition to Banner Cash, Banner
Band also has Lacey Flowers, comput-
er paper with a floral motif woven into
a pink lace background.
Each roll is 45 feet long with no
cross perforations. It comes in a self-
feeding tray and is covered with a pro-
tective outer sleeve.
The Lay of the Land
How would you like to view the topog-
raphy of your hometown in 3-D? Digi-
scape Software (P.O. Box 113058, Car-
rollton, Texas 75001) has released a
product that will let you see the topog-
raphy not only of your area but of the
entire United States—excluding Alaska
and Hawaii—and parts of Canada.
Digital Landscape ($58) contains
more than 400,000 elevations taken at
regular intervals across the continent.
The distance between intervals is ap-
proximately three miles, depending on
selected latitude. The 3-D renderings
on each of the 15 data disks may be ro-
tated 360 degrees in 1-degree incre-
ments of azimuth and tilted up to 89 de-
grees in declination. o
OCTOBER 1992 COMPUTE G-13
G-14
Commodore 8-bit
computers will
survive longer in
Germany than
anywhere else.
WORLD VIEW
Anders Reutersward
VIEW FROM
GERMANY
Here is Europe calling again,
with an extensive report from
the Commodore scene in Ger-
many, Since we don’t yet
have a German correspon-
dent, I'll try to describe the
Commodore situation from my
viewpoint north of the border
in Sweden.
| base my evaluation on
what | gather from reading Ger-
man computer magazines
and the bulletin of Germany's
popular GEOS Users Club
(GUC), to which | belong.
Germany has always been
the center of Commodore ac-
tivity in Europe. Maybe Commo-
dore fans in Britain will dispute
my opinion, but no other Eu-
ropean country has produced
as much hardware and profes-
sional software for the 64 and
128 as has Germany. Also, al-
most all Commodore ma-
chines sold in Europe during
the past few years have been
assembled at Commodore fac-
tories in Germany.
It's only when it comes to
games that the British Isles
have been more productive
than Germany, thanks in part
to their close contacts with the
large U.S. market. Also, most
Germans aren't proficient in
languages other than their
own, making them dependent
on domestic software or titles
that have been translated.
One good example of this is
GEOS, a software package
that has reached high sales
and a very high level of usage
in Germany. This is mainly be-
cause the importer has taken
the time to translate the entire
GEOS line, software and man-
uals, into German.
The driving agent behind
GEOS and Commodore activ-
ity in Germany is Markt & Tech-
nik. This company produces a
large range of quality software
and books, imports GEOS prod-
COMPUTE OCTOBER 1992
ucts, and publishes a Commo-
dore magazine called 64’er.
Even with the worldwide de-
cline of the 8-bit machines,
this monthly magazine still
goes strong. Every issue is
packed with articles, hard-
ware and software reviews,
construction projects, repair in-
structions, and type-in pro-
grams for the 64/128.
One new phenomenon in
Germany is the GUC. With
over 2000 members, a month-
ly bulletin, a large public do-
main library, and its own qual-
ity GEOS software, this club
has quickly become a power
on the Commodore scene. Un-
fortunately, this climb to the
top hasn't been without clash-
es and controversies with the
established market domina-
tors, mainly Markt & Technik.
For fans elsewhere, GEOS
products are available from
the GUC at reasonable prices.
How about GEOS on an
EPROM? It boots instantly
when you turn on the comput-
er. TopDesk is an entirely new
desktop that displays the con-
tents of up to four drives at the
same time. RamPrint is a print-
er routine that uses an REU as
a printer buffer, leaving the
computer free for other tasks
while the printer trundles
along. There’s even more in
the club’s GEOS pipeline. If
you're interested in learning
about this group, drop a line
to GEOS Users Club, Jurgen
Heinisch, Xantener Strasse
40, D-4270 Dorsten 19
Rhade, Germany. He'll send
you information about GUC
membership.
There are still a lot of Ger-
man mail-order firms catering
to Commodore users. You can
see many of their advertise-
ments if you skim through the
pages of computer maga-
zines. There are word proces-
sors, database programs,
CAD programs, paint pro-
grams, assemblers, terminal
software, desktop publishing
programs, and games—all in
the German language.
Perhaps true to their heri-
tage, the Germans seem to
specialize in hardware.
Peripherals of all imaginable
and some unimaginable kinds
are available. Another quick
look through computer maga-
zines reveals advertisements
for video digitizers, scanners
(among them Handyscanner,
which recently turned up on
the U.S. market [COMPUTE,
December 1990]), Prestel de-
coders, printer ribbon reink-
ers, MIDI interfaces, realtime
clocks, satellite pay-TV decod-
ers, printer interfaces, RS-232
interfaces, drive turbos,
EPROM burners and cards,
memory expansion units, car-
tridges, user port expanders,
and more.
The list is long. The prod-
ucts are all for use with the 64
or 128, and they're all of do-
mestic origin. Imported prod-
ucts such as Hard Drive and
RAMLink from Creative Micro
Design are available, but at
much higher prices.
Regretfully, | don’t have fig-
ures regarding the number of
computers in Germany, but
Amigas are taking over the mar-
ket there as well as every-
where else in Europe. The
rate of 8-bit decline, however,
seems to be slower than it is
in the U.S.
One reason for this is the re-
cent merger of East and West
Germany. That merger re-
leased a flood of computer-
deprived East Germans onto
the market. Their somewhat lim-
ited cash resources make
used 64s and 128s perfect
first computers. These new buy-
ers should also help keep de-
mand strong for software and
add-on hardware.
| believe that Germany is a
very fortunate country in this as-
pect and that the Commodore
8-bit computers will survive
longer in that country than any-
where else. o
021MU
019GR
019ED
062ED
033ED
031ED
010UT
119GA
022GA
021GE
002MS
003MS
Choose 6 for $5.00
LIMITED OFFER
KILLER:
LUNG
DISEASE
C.O.D. orders call:
AMERICAN _ Os . Dp)
LUN! iuperior Micro Systems, Inc, _ <
ASSOCIATION® Does Your Heart Good. as ISN. Ose, (a>,
® The Christmas Seal People ®
DISKS O'PLENTY INC
7958 PINES BLVD. SUITE 270A
PEMBROKE PINES FL 33024
(305) 963-7750
Call or write for free descriptive catalog of
C64/128 Public Domain & Shareware
Choose from over 900 Disks
Adult list of over 50 Disks available
to those 18 or over.
Circle Reader Service Number 253
2.
@P American Heart Association
Can Your
Computer Make
you
.
35°$1,000,0007
WITH LOTTERY PC YOUR NEXT TICKET
COULD BE WORTH MILLIONS!
LOTTERY uses the raw power and storage of your
computer to determine and refine the number selection
methods that will win the various lottery games y
play. Don't be limited to the one or two methods
other Programs use, they might not work in your Sale
There is no better system available!
Join the growing list of winners using our system.
a
SID MUSIC UTILITIES
PRINTSHOP UTILITIES
JR HIGH EDUCATION
HIGH SCHOOL EDUC.
TYPING / SPANISH SPECIFY:
COMPUTER SCIENCE Lottery 64(C64/128)
Lottery PC
PIRATES TOOLBOX
FOREIGN ARCADE
CASINO-BOARD GAMES|
GEOS FONTS
LOTTERY PROGRAMS
COLLECTORS CORNER
IBM PC/XT/AT and compatibles
Commodore64/128 & Plus/4 are registered
trademarks of Commodore Int
IBM PC/XT/AT are registered trademarks of
International Business Machines Inc
To order, send $29.95 for each plus $3.00 postage &
handling per order to
(Illinois residents add 6% sales tax)
(Grders outside North America add $3.00)
oo =
Space contributed by the publisher as a public service.
COMPUTE’s
Circle Reader Service Number 221
SpeedScript Disk
A powerful word processing
package for Commodore 64
and 128 owners
A Great Deal for Commodore
Users!
* SpeedScript for the 64
° SpeedScript 128—80-column version
* Spelling checkers
° Mail merge
* Date-and-time stamp
* 80-column preview for the 64
* Turbo save and load
* Plus more than a dozen other SpeedScript
support utilities all on one disk (including
full documentation)
Ives! Send me _______ copies of COMPUTE’s
| SpeedScript Disk.
| I've enclosed $11.95 plus $2.00 postage and handling. (Outside
U.S. and Canada add $1.00 for surface mail or $3.00 for
| airmail.)
| ORDER NOW!
Amount
Sales Tax*
Total
Address
State
Commodore SpeedScript Disk
324 W. Wendover Ave., Ste. 200
Greensboro, NC 27408
Residents of North Carolina and New York, add appropriate tax for your area. Canadian
orders, add 7:
% good and services tax
Please allow 4-6 weeks for delivery. Program available only on 5%-inch disks
| Mail personal check or money order to
i
G-15
Questions and
answers
about typewriter
emulations,
double-spaced listings,
G-16
FEEDBACK
Bug-Swatter
Several readers wrote to com-
plain about F/X Plot 128
(June 1992). The problem oc-
curs when line 920 directs the
program to a nonexistent line
170. The mistake was a renum-
bering error on our part. Line
920 should read as follows.
920 ON GK GOTO 930, 1450, 110,
990
Typewriter Emulator
Has anyone ever come up
with a program that would con-
vert a 64 and a printer into a
typewriter? This would be
nice for filling in blanks on
printed forms.
STEPHEN LUISSER
NORTHAMPTON, PA
Here's a program that might
work if your printer doesn't
have a buffer.
10 OPEN 4,4,7
20 GET A$: IF A$ = ““” THEN 20
30 PRINT#$,A$;: GOTO 20
Most printers with buffers, how-
ever, save characters sent to
them until they receive a car-
riage return. In this case,
you'd be typing blindly until
you hit Return, and then al let-
ters would print at once.
If this program doesn't
work as you'd like it to, try
changing line 20.
20 INPUT A$
As you type, you'll see charac-
ters on the screen; press Re-
turn and the line will print. It's
not exactly like a typewriter;
you may have problems mov-
ing the printhead the proper
number of spaces when filling
in blanks.
Double-Spacing
Is there some way | can get a
program listing to print double-
spaced? It would be a break
for my poor old eyes when it
comes to debugging, but |
COMPUTE OCTOBER 1992
hate to fiddle with my printer's
DIP switches.
G.W. BLACK
ATLANTA, GA
Here's a way you can do it
with a program command.
Load your program into mem-
ory, but when you enter the
commands to produce a print-
out of the listing, use a file
number greater than 127.
Here's an example. Enter the
first line and press Return to
start the listing. Enter the sec-
ond line to close the file.
OPEN200,4:CMD200:LIST
PRINT#200:CLOSE200
Programs Within Programs
| have trouble loading pro-
grams from within another pro-
gram. For example, I'll make
a menu, it loads a program,
and then there's an error. |
used the clear command at
the end of the menu, and that
didn't work. Please help!
MICHAEL V. MAY
MT. PERRY, OH
Using BASIC for loading ei-
ther another BASIC or ma-
chine code file is called chain-
ing. To chain, your program
must enter a LOAD command
with the ,8 or ,8,1 extension
just as if you'd entered it in di-
rect mode. Within BASIC, how-
ever, the interpreter has a
pointer that tells the 64 where
to continue processing the pro-
gram after a command has
been executed. The pointer is
reset to the start of the pro-
gram when a LOAD is execut-
ed. This is actually a help
when one BASIC program is
loaded from another, since
the new program overwrites
the old and you want the new
one to start running at the
first line. When you want to
load a machine language pro-
gram, however, you run into a
problem if you simply enter
something like the code in the
next two lines.
10 LOAD ‘‘MACHINE CODE” ,8,1
20 REM THE REST OF THE BASIC
PROGRAM FROM HERE
This results in an endless
loop as the pointer is reset
and the file named MACHINE
CODE is loaded over and
over again.
The solution is to set a flag
that tells your program that it
has already completed the
loading and to continue run-
ning. Here's how the program
above should look.
10 IF FL=0 THEN FL=255:LOAD
“MACHINE CODE",8,1
20 REM THE REST OF THE BASIC
PROGRAM GOES HERE
The flag, in this case, is held
in the variable FL. When the
program is first run, all possi-
ble numeric variables have a
default value of 0. When we
test whether or not FL is O
initially, the condition is true.
Because it's true, the line con-
tinues to process by setting
FL to a value of 255 and load-
ing the machine code file.
(Any number other than 0 will
work except in the case of a
bad memory register, a rare
event.) Now, when the pointer
is reset and the condition is
tested again, it's no longer
true and processing contin-
ues on the next line.
Null Modems
| want to transfer some docu-
ments that | wrote on my 64
to my IBM computer. | know
that | can upload them to a
BBS and then download
them to my IBM, but isn't
there some way | can hook
the two computers together
without going through a third
one by telephone?
WAYNE PALMER
CHICAGO, IL
Last month in a similar ques-
tion we mentioned that some
conversion is necessary to
make the Commoaore files
compatible with the character
set of the receiving IBM com-
puter. The 64 uses a nonstan-
dard set of characters called
PET-ASCII or PETSCII and
the IBM uses the standard AS-
Cll character set. (For more
information about PETSCII,
see the reply below to Frank
Chang.)
For the 64, there are sever-
al conversion programs that
will let you convert PETSCII to
ASCII or ASCII to PETSCII.
Some commercial word proc-
essors include a conversion
program. Convert, for exam-
ple, is one that comes with
Word Writer. Check your local
Commodore user group, bul-
letin board system, or nation-
al online services for a public
domain conversion program.
The serial port on the back
of the 64 is almost, but not
quite, a standard RS-232
port; the only difference is the
Commodore's voltage level.
You can convert it by plug-
ging in an RS-232 adapter,
which is available from vari-
ous suppliers.
Next, you'll need some-
thing called a null modem ca-
ble. This is just a simple cable
that fools computers into think-
ing that they're linked by mo-
dem over a telephone line. A
couple of the cable's wires
are crossed so that an input
line on one side is an output
line on the other. One end
plugs into the RS-232 adapter
on the 64, and the other end
plugs into the IBM's serial
port. Null modem cables are
available from several manu-
facturers, including The Grape-
vine Group, 3 Chestnut
Street, Suffern, New York
10901; (800) 292-7445.
Finally, each compuier will
have to be running its own ter-
minal software. The software
must be set up to recognize a
modem plugged into the seri-
al port. Of course, there won't
really be any modem at-
tached, only the null modem
cable. Have the IBM request
a download and then have
the 64 upload the file. Also,
be sure that the terminal pro-
grams are set for the same
sending rates and other tele-
communications parameters.
Commodore’s ASCII
Just what is PET ASCII?
FRANK CHANG
RIDGEWOOD, NY
ASCII stands for the Ameri-
can Standard Code for Infor-
mation Interchange. As the
name suggests, it’s a stan-
dard way of assigning comput-
er character sets to specific
values, 65 for the letter A, 66
for the letter B, and so on. It's
often used with word proces-
sors when saving text to disk
and for transmitting text from
one computer to another.
Commodore devised its
own number-to-character sys-
tem when it released its origi-
nal PET series of computers,
hence the PET ASCII or PET-
SCIl name. It is similar to AS-
Cll, but there are differences.
The most obvious difference
is that uppercase letters in
PETSCII print in lowercase in
ASCII, and vice versa.
The 8-bit Commodore ma-
chines derive their character
set from a time when ASCII
wasn't the de facto standard
that it is today and the big
players took no pride in being
compatible. Consequently,
from the point of view of more
modern machines, including
the Amiga, the 8-bit Commo-
dores not only confuse upper-
and lowercase, but they ne-
glect entirely such characters
as the brace and underscore.
There's no problem when
you are swapping sequential
files with someone who owns
another 8-bit Commodore,
and modems do a good job
of translating when you call 4
BBS that's running on an IBM.
The problem becomes appar-
ent when you download an AS-
Cll sequential file from an
IBM and try to read it with a
Commodore word processor
or sequential file reader. If
you get a file whose upper-
and lowercase letters appear
to be reversed, that's usually
the reason. There are conver-
sion programs available that
translate the characters, ena-
bling word processors to han-
dle the text correctly.
Word processors such as
SpeedScript add more com-
plexity to the situation by us-
ing their own special codes. In-
stead of writing sequential
files in ASCII or PETSCII,
SpeedScript saves text as pro-
gram files using Commodore
screen codes,
If you're sending a
SpeedScript file to someone
who needs a PETSCII or true
ASCII sequential file, you can
overcome this problem by
printing your SpeedScript file
to disk rather than saving it
by pressing f8 as you normal-
ly would. To print a file to
disk, press Shift-Ctrl-P simulta-
neously. You'll be asked if
you want to print to screen,
disk, or printer. Select D for
disk, and you'll have a PET-
SCII sequential file on disk.
SpeedScript can also print
files as true ASCII. On the
first line of your document,
press Ctrl-£ and then press A.
This will print a lowercase re-
versed A on your screen.
This code will change your
SpeedScript file to true ASCII
when you print to disk. You
can easily test for this by print-
ing your file to the screen in-
stead of to a disk. All the up-
per- and lowercase letters will
be reversed.
Converting documents to
true ASCII can be useful
when you want to send a
SpeedScript document via mo-
dem to someone who has an
IBM. The IBM user can then
load your text into an ASCII-
based word processor with-
out additional converting. O
Comments about
running a
program from within
null modems, ASCII,
and PETSCII
OCTOBER 1992 COMPUTE
G-17
Here’s a look at
some of the
unique keys found
only on 64
and 128 keyboards.
G-18
BEGINNER BASIC
Larry Cotton
MORE KEYS,
PLEASE
Last month we learned about
some keys unique to the 64.
Let's examine some more.
When the 64 is first turned
on, the keyboard defaults to
what is known as the upper-
case/graphic character set
mode. Normally, anything you
type is in uppercase. Howev-
er, most keys can generate
graphic characters by holding
the Shift or Commodore key
while pressing them.
Each keyboard character
has a unique CHR$ code,
which you can see by entering
PRINT ASC(‘'X"), where X is
the character itself. For in-
stance, the ASCII code for J is
74. The codes for the symbols
produced when holding down
the Shift or Commodore key
with J are 202 and 181, respec-
tively. Conversely, to print any
character onscreen, enter
PRINT CHR$(X) and then
press Return, where X is the
character's ASCII code. (Note
that you don’t need the quota-
tion marks in this case.)
As you may have discov-
ered by now, graphic charac-
ters can be used to enhance
the appearance of your BA-
SIC program screens. Here's
a short example:
10: PRINTCHR$(147): REM CLEAR
SCREEN
20 POKE 53280, 5: POKE 53281, 1:
REM SET BORDER AND BACK-
GROUND COLORS
30 POKE 646, 5: SET CURSOR
COLOR
40 V=8: H=15: GOSUB 1000
50 PRINTCHRS$(213)
60 V=8: FOR H=16 TO 22: GOSUB
1000
70 PRINTCHRS$(192): NEXT
80 V=8: H=23: GOSUB 1000
90 PRINTCHRS(201)
100 FOR V=9 TO 11: H=15:
GOSUB 1000
110 PRINTCHRS(194): NEXT
120 FOR V=9 TO 11: H=23:
COMPUTE OCTOBER 1992
GOSUB 1000
130 PRINTCHRS(194): NEXT
140 V=12: H=15: GOSUB 1000
150 PRINTCHRS(202)
160 V=12: FOR H=16 TO 22:
GOSUB 1000
170 PRINTCHRS(192): NEXT
180 V=12: H=23: GOSUB 1000
190 PRINTCHRS$(203)
200 V=10: H=17: GOSUB 1000
210 PRINT TITLE”
999 GOTO 999
1000 POKE 214, V: PRINT: POKE
211, H: RETURN
1001 REM VERTICAL AND HORI-
ZONTAL CURSOR POSITIONS
The numbers 214 and 211 in
line 1000 are the memory reg-
isters that control cursor posi-
tion. Admittedly, this tech-
nique creates a longer pro-
gram, but | prefer it because
it's precise and much easier
to type in. Most programs can
be shortened by printing the
graphic characters them-
selves, but typing in such a
program can be tedious.
The keyboard can be
switched to the uppercase/
lowercase character set by
pressing the Commodore and
Shift keys simultaneously.
This allows the use of upper-
and lowercase in text, but un-
fortunately, it prohibits print-
ing graphic characters on the
same screen. Switching be-
tween character sets can be
accomplished with PRINT
CHR$(14) (uppercase/lower-
case) or PRINT CHR$(142)
(uppercase/graphic).
Some of the other keys pe-
culiar to the 64 are the Clr/
Home, Inst/Del, Run/Stop,
Ctrl, Commodore, and Re-
store keys. Let's look at each.
The Clr/Home key, as |’m
sure you have by now discov-
ered, has a dual purpose: Un-
shifted, it brings the cursor
home—to the upper left cor-
ner of the screen; shifted, it
clears the screen completely.
Clr and Home CHR$ codes
are 147 and 19, respectively.
The Inst/Del key is used to
insert and delete characters.
However, when entering BA-
SIC programs, it's easy to be
caught in what's known as
the quote mode. This is
where every inserted key-
stroke produces an arcane
graphic symbol. The easiest
way to escape this mode is to
press a shifted Return.
The CHR$ codes for Inst
and Del are 148 and 20, re-
spectively. These are useful
to know when looking for spe-
cific characters to be entered.
The Run/Stop key is usual-
ly used (unshifted) to stop a
BASIC program. Shifted, it's
used to start loading a pro-
gram from tape. The CHR$
code for Stop is 3. Sensing a
shifted Run/Stop key requires
peeking at memory locations
197 and 653, as mentioned
last month :
The Ctrl key's most useful
function is to slow down a BA-
SIC program listing. Use it
with a number key to select
one of eight cursor colors. As
with other keys, it can be pro-
grammed to do other things.
In SpeedScript 3.2, for in-
stance, the Ctrl key is used
with the E to erase words, sen-
tences, and paragraphs.
The Commodore key's
main two default functions are
switching between keyboard
character sets (with the Shift
key) and selecting eight addi-
tional cursor colors (with the
number keys).
The Shift, Ctrl, and Commo-
dore keys don't have ASCII
codes. To prove it, try PRINT
ASC("'X"), where X is one of
those keys. They can be
sensed, however, as pointed
out last month, by peeking at
memory register 653.
Finally, we come to the Re-
store key. This is probably the
most abused key on the 64.
It's used with the Run/Stop
key to restore the computer to
its standard condition. It's de-
signed to be struck, rather
than just pressed. o
HELP PREVENT
HEART ATTACK
WITH A +
—s
Any type of aerobic exercise
program can help reduce your
risk of heart attack and stroke.
The only hard part is diving
in. To learn more, contact the
American Heart Association,
7272 Greenville Avenue, Box
47, Dallas, TX 75231-4596.
You can help prevent heart
disease and stroke. We can
tell you how.
American Heart
Association
This space provided as a public service.
© 1992, American Heart Association
NUCLEAR SUB
COMMAND
Realistic: Nuclear Attack Sub Simulation
Requires C64 GEOS a or 2.0. > We CQ)
$19.95 Check or Money Order
VMC Software PO Box 326
Cambria Hts. NY 11411
Circle Reader Service Number 171
Upgrade your Commodore system
Refurbished Hardware New APROTEK modems
MONITORS DRIVES OTHER 64/128/AMIGA-2400 BAUD - $119
1701 -$235 1541-$100 1660-$30 64/128/AMIGA-1 200 BAUD - $89.
1702-$255 1541-I1-$120 1670-$50 APROSAND-4 SLOT CARTRIDGE
1801 -$265 1571-S165 C64 -$100 EXPANDER FORTHE 64/128 - $40
1802-$285 1571-Il- $185 64C-$120 New CMD accessorles
1901-$295 1581-$180 C128-$175 JIFFYDOS 64/128 & ANYDRIVE "SYSTEM" - $85
1902-$305 1001SFD-$150 C128D-$225 128D/ANY DRIVE SYSTEM" - $95
1084s-$325 1530 DATASETTE-$35 ADDITIONAL DRIVE ROMS - $45
MANY BOOKS - $10 ‘SOFTWARE - $10-20 RAMLINK/RAMCARD C/W BATTERY (OMb)- $345,
ASK FOR ANYTHING, | MIGHT HAVEITI 1Mb RAMSIMM - $75 4Mb RAM SIMM - $250
J.P.PBM PRODUCTS BY MAIL SHIPPINGINCLUDEDFORCANADA, USA+15%
P.O. BOX #1233, STATIONB 15 DAY WARRANTY ON REFURBISHED GOODS
WESTON, ONTARIO, M9L2R9 TAX-Canada+7% GST, OntarioRes. +8% PST
Commopore_e 64 PusB_ic DomAIN
Highest Quality Since 1987*
Games, Education, Business, Utilities, GEOS, Music, Graphics &
More. As low as 90¢ per collection. 1 stamp for complete catalog
or $2.00 for catalog AND 30 sample programs (refundable).
24 hour shipping.
64 DISK CONNECTION
4291 Holland Rd., Suite 562 - Virginia Beach, VA 23452
(* Formerly RVH Publications)
Circle Reader Service Number 254
Commodore Accessories & Necessities
Ribbons! M3 Mouse
MPS 801 - 802 - 803 - 1525 - 1526 - 1000 - Modems Visa
1200 - 1230 - 1250 Joysticks MC or
Commodore Printer (Comm. & PC Comp.) Icon Controller UPS
C 64 C Computer * 1541-1 Disk Drive Cables CoD
1802 Monitor Power Supply
SOFTWARE: Educational - Productive - Fun - Commodore-Amiga Authorized
Dealer & Service Center - 24-Hour Turnaround on Repairs - CALL for PRICING
= ELECTRO-TECH ELECTRONICS eo
— 677 East Main Street + Ventura,CA93001 + 805-648-5417 ;
Circle Reader Service Number 148
Calc il makes your math work a breeze
= whether it's a mortgage calculation,
budgeting, orkeeping sports statistics.
(Or use it for your non-math chores fixe
organizing phone numbers or making
shopping fst!
* Uses Commodore math routines for
The Fastest power and speed * gets results twice
as fast as Competito’s © deal for
Spreadsheet databases - sort by row or cohrmn *
ft h View lots of information fast with up to
for the four confgurable windows, row and
column locking * Quick, responsive
Commodore 64 Sireaing = independently schestable
decimal places, width and positioning
of data * Uppercase, lowercase and
Commodore graphics all available * Bar
graphs on-screen with text * Over two
dozen functions, including LOOKUP,
AVG, IF, BND, SIN & FIX * 240 rolvs by
240 colurms * Easy to remember com-
mands * Uses disk or tape * Simple
worksheet setup + Easy text entry,
The Package includes a detailed User's
Guide and disk with Calc I, two utility
programs and over 40 easy to use
worksheets. Write for free information or
PANKHURST PROGRAMMING Dept. « Box 49135 » Montreal * Quebec * Canad2 * HIN 3T6
Circle Reader Service Number 152
Here’s a way to use
a fake BASIC
program to read a
G-20
disk’s directory.
MACHINE LANGUAGE
Jim Butterfield
DIRECTORIES
Programming to read a disk di-
rectory isn’t trivial. You must
go through a careful se-
quence of steps.
There are two approaches:
read a fake BASIC program or
read disk data in binary. Fake
BASIC is invoked by opening
with a filename such as $0
and using secondary address
0. That's the option we'll take;
it's simpler and more flexible.
You know that LOAD “$0",.8
will load a directory and LIST
will display it. The LOAD com-
mand brings in a fake BASIC
program, complete with pseu-
do line numbers, showing the
size of each file. Instead of
LOAD, we may open the file
and use GET to pull in direc-
tory bytes one at a time. But
we must know how to unscram-
ble this programlike structure.
In a BASIC program—even
the fake one used for directo-
ries—the first two bytes are
the load address in binary.
Then come the program lines.
Each line consists of a two-
byte link, followed by a two-
byte binary line number;
these four bytes are followed
by a string of characters termi-
nated with a binary 0 charac-
ter. When we read the direc-
tory, we check the link for 0,
which will signal the end of the
file. We save the line number,
since it represents the file size
in blocks, and scan through
the remaining text. This text is
not all filename; there may be
leading spaces, quotation
marks, and file type designa-
tions such as PRG or SEQ.
After putting the machine
language code into memory,
the BASIC program opens the
file. Note that it uses a secon-
dary address of 0. If desired,
we can use pattern matching
in the filename; for example,
OPEN 1,8,0,"$0:B*" would de-
liver only those filenames that
begin with the letter B.
The job of reading the direc-
COMPUTE OCTOBER 1992
tory is done in the machine lan-
guage program. First, it con-
nects to the file; then it throws
away the first two load bytes.
2000 LDX #$01
JSR SFFC6
JSR $FFE4
JSR $FFE4
Next, the program starts its
main loop, which reads each
directory line. The first two
link bytes are tested for 0,
then discarded.
200B JSR $FFE4
STA $2100
JSR SFFE4
ORA $2100
BEQ $2057
The next two bytes are the
pseudo line number that rep-
resent the file size. We bring
this in and store the two
bytes. You'll often want to
make use of this file size val-
ue; this program stores it but
doesn't use it.
2019 JSR $FFE4
STA $2101
JSR SFFE4
STA $2102
The remainder of the line con-
tains text. We'll read this into
memory, watching for the bina-
ry O that signals the end of
the line.
LDX
2027 STX
JSR
LDX
STA
TAY
BEQ
INX
BNE
#$00
$2100
SFFE4
$2100
$2200,X
$2039
$2027
After receiving the line, we'll
deliver it to the screen. It
hasn't been neatly parsed for
spaces or quotation marks,
so it might look a little
ragged. But you'll be able to
see how the directory is read.
Before printing the line, we'll
disconnect momentarily from
the input channel.
2039 JSR
LDX
203E LDA
JSR
INX
CPX
BCC
SFFCC
#$00
$2200,X
$FFD2
$2100
$203E
A final return is printed, and
then the program reconnects
the input stream and goes
back to do another line.
204A LDA #$0D
JSR $FFD2
; reconnect to the input
stream
LDX
#$01
JSR $FFC6
JMP $200B
When we're ready to quit, we
just unhook the input channel
and return to BASIC.
2057 JSR $FFCC
RTS
Here's the program in BASIC.
100 DATA 162,1,32,198, 255,32,
228, 255, 32,228,255
110 DATA 32,228,255,141,0,33,
32,228,255,13,0,33,240,62
120 DATA 32,228,255,141,1, 33,
32,228,255,141 ,2,33,162,0
130 DATA 142,0,33,32,228, 255,
174,0,33,157,0,34,168,
240,3,232,208,238
140 DATA 32,204,255,162,0,189,
0,34,32,210,255,
232,236,0,33,144,244
150 DATA 169,13,32,210,255,162,
1,32,198,255,76,11,
32,32,204,255,96
200 FOR J=8192 TO 8282
210 READ X
220 T=1+X
230 POKE J,X
240 NEXT J
250 IF T<>11245 THEN STOP
300 OPEN 1,8,0,"$0”
310 SYS 8192
320 CLOSE 1 im)
D'IVERSIONS
Fred D'lgnazio
MY DREAM
The other night | awoke from
a strange dream in which I'd
been a computer program—a
simulation. The authors of the
program were monitoring the
program and had just decided
to terminate it, since it had out-
lived its usefulness. At that mo-
ment | woke up.
“Whew!” | sighed silently, no-
ticing the comforting dark pro-
file of my wife sleeping next to
me. “That sure was weird!”
“What was weird?” came a
small voice from inside my
head.
| looked around the silent
bedroom. No one else was
there—just my wife and |. Who
could have spoken?
“We're still watching you,”
came the reply.
“Who are you?" | whis-
pered, casting a nervous
glance at my sleeping wife.
“No one special. We're just
monitoring your program. It's
about to be terminated, you
know.”
Now | was deeply fright-
ened. What was going on?
Was | awake or not? Was this
just another dream within my
first dream?
“You're not really there,” |
whispered. No reply.
It was working, | continued,
“You're just the product of a fe-
verish mind. I've been sick re-
cently, and you're just the res-
idue of my fever."
Still no reply.
| glanced at the clock radio
on the bedside table—3:00
a.m. | figured it was OK for me
to settle down again and try to
get some sleep. | closed my
eyes again.
“We're still here.”
| bolted out of bed. | sprint-
ed for the bathroom door.
Once inside, | shut the door
and turned on the light. Star-
ing back at me from the bath-
room mirror was an extremely
scared-looking face. | rushed
to the toilet. No dream had ev-
er survived this test!
A few moments later,
calmed and relieved, |
switched off the bathroom
light and returned to bed. |
pulled the covers way up and
fell almost instantly to sleep.
The voice returned. “If you
don't believe me," it said,
“watch this." | then saw a re-
play of parts of my life that |
hadn't thought about in years.
“It's all in the database,” the
voice said. ‘We know every-
thing about you because we
created you. And we created
everything around you, But it's
all about to end.”
“But I'm alive!” | silently
screamed. “How can you ter-
minate me if I'm alive?"
“You only think you're
alive,” said the voice. “We pro-
grammed that feeling into you
to make the simulation more in-
teresting."
“But what about my wife
here beside me?” | said quiet-
ly, gently nudging her sleep-
ing form. Jeez, she sure
seemed relaxed! She didn't
have to be that relaxed, not
with this drama being played
out only inches away.
“Just part of the program,”
said the voice.
“And my kids?”
“Also the program,”
“And this house? And our
poor kitty who lived with us for
20 years before she wandered
away last November? And a la-
dy named Margaret who
raised my brothers and sister
and me? And the mean kid on
the playground in the sixth
grade who pushed me down
the hill in front of my friends?
And my three-legged dog?” (|
was running out of memories.)
“The program.”
Then | had an idea. “If all
this is part of a program,” | rea-
soned, “how come | have my
own computer? In fact, how
come | have a bunch of com-
puters? Are they all part of the
program, too?" | smirked in
the darkness.
“You got it,” said the voice.
(Did | detect in that voice a
faint trace of yet another
smirk, mirroring my own?)
“OK,” | whispered in de-
spair. “You win. | am a pro-
gram. My whole life is a pro-
gram. My whole reality is a
program. So when are you go-
ing to terminate me? Right
here? Right now?”
“We're thinking about it,”
said the voice. “But you're turn-
ing out to have some unexpect-
ed uses. We'll let you know.”
“When?” | thought. “When?
When? When?”
| finally dozed off to sleep.
The next morning my wife
asked me how |’d slept—the
way she'd done for the last 23
years—and | just looked at
her. How was | to tell her that
| now had the notion that she
was just a simulation, that |
was just a simulation, and that
our world was just someone's
computer program?
Every day | look around and
touch objects, sniff them, hold
them, taste them, enjoy them.
Are they real? Or are they just
bits and bytes, subroutines
and macros, tiny little pieces
of the program of my life?
Is today the day I'll be ter-
minated? Or tomorrow? Or not
at all? Was it really just a
dream?
| speculate about the fu-
ture. Will technology ever be-
come so advanced that we'll
be able to embed parts of our
consciousness into our virtual
media and create virtual
selves—little Fred programs,
leading blissful lives on a com-
puter-simulated landscape, in-
teracting with fellow simulated
beings all living in a virtual
world?
Will these beings think
they're real, too? Will they
think they're alive? What hap-
pens when it comes time to
terminate them and try some-
thing new?
Do we tell them before we
pull the plug? o
OCTOBER 1992 COMPUTE
If computer
simulations mimic
reality, how
can we be sure that
life itself isn’t
just a subroutine
in some vast
complex simulation?
G-21
geoPaint utilities
that artists will want
G-22
to add to their
palette of tools.
GEOS
Steve Vander Ark
DWEEZILS AND
DRIVERS
Dave Ferguson is an accom-
plished GEOS programmer
who has written several excel-
lent utility programs for ge-
oPaint. He's made them avail-
able on his Dweezil Disks, and
I'm sure geoArtists will want to
add them to their palette of
tools. Here’s a rundown of
what the Dweezil Disks have
to offer. In case you're curi-
ous, Dweezil is Ferguson's
dog, and the disks are availa-
ble from Quincy Softworks,
9479 East Whitmore Avenue,
Hughson, California; 95326-
9745. Write for a flier.
| love NewTools and its new
loolbox. When activated from
he menu in geoPaint, New-
Tools presents you with a
large pointer that you use to
designate a rectangular sec-
tion of the bitmap. When you
select a region, the cursor
jumps automatically to the
new toolbox (the regular tool-
box is deactivated when New-
Tools works its magic).
From this toolbox you can
perform a wide variety of
strange but wonderful options.
For example, one icon will
slant your selected area up-
ward at a 45-degree angle. An-
other will curve it—something
I've always wished | could do
to text in geoPublish!
NewTools also has a fea-
ture to put the finished results
in boldface, adding pixels to
the image. This is often neces-
sary since some angle options
tend to stretch the pixels
apart. NewTools2, which oper-
ates in 64 or 128 mode, 40 or
80 columns, can be found on
Ferguson's Dweezil Disk 1.
While geoPaint supports col-
or, it's less of a hassle to work
in monochrome. Besides,
most users don’t have a color
printer anyway. When you're
working in monochrome
mode, patterns take on a new
COMPUTE OCTOBER 1992
importance. With the paint-
brush tool set for various
widths and patterns, you can
create with a slew of shadings
and simulated tints and hues.
UltiPatt and PattDA are two
desk accessories that give
you complete control over the
patterns used in geoPaint.
Each accessory includes a
large selection of pattern sets
that include some excellent
gray scales. With UltiPatt, the
sets are built right into the pro-
gram; with PattDA, you load
them from the disk in alterna-
tive patterns.
If you can’t find a pattern
you want from the 50 or so
sets that are provided, you
can use UltiPatt to create new
ones. You can combine exist-
ing patterns, layering patterns
on top of each other, or even
use the program's random
function to create new ones
with the click of a button. Ulti-
Patt and PattDA can be found
on Dweezil Disk 2.
Marker is one more little
Dweezil disk utility that comes
in handy with geoPaint. It's a
desk accessory that replaces
geoPaint's ineffectual ruler
tool. Marker not only reads the
offset position in inches and pix-
els but also leaves a single-
pixel mark when you press the
M key. You'll find Marker on
Dweezil Disk 1.
You won't want to miss geo-
Stamp or its big brother, Big-
Stamp, if for no other reason
than that they are so darn
much fun. The difference be-
tween the two programs is the
size of the stamps they pro-
duce. BigStamp makes a
stamp four times as large as
geoStamp's. Where do the
stamps come from? Well, a
number of collections are in-
cluded with the disk, and
there are a few on Quantum-
Link. And with the included util-
ities you can copy stamp-
sized chunks of a geoPaint
bitmap into a collection or edit
stamp images of your own.
The programs include a lot of
well-thought-out commands,
such as a key stroke to move
the stamp one stamp width ex-
actly in any direction, making
borders a cinch. GeoStamp
isn't on a Dweezil disk but is
available separately from
Quincy Softworks.
As long as we're on the sub-
ject of geoPaint programs, let
me mention a few that are in
Q-Link's library. A handy utili-
ty called Mirror Mirror lets you
flip a geoPaint page side to
side, resulting in a mirror im-
age of your page. To down-
load it easily from Q-Link, re-
quest MIRROR, uploaded by
Red Storm.
Printing a geoPaint docu-
ment is fairly straightforward,
but there are print utilities that
offer you some options. If
you'd like a poster of your geo-
Paint or any GEOS page, try
PosterPrint, a printer driver for
Epson FX-80-compatible print-
ers. PosterPrint enlarges the
printout, turning one page in-
to four. PosterPrint is available
on Q-Link. Its filename is
POSPRI3.0.SDA, and it was
uploaded by Irv Cobb.
Another print utility called Ro-
tate Pages will take sections of
a geoPaint page (perhaps con-
verted from geoPublish via
Paint Pages) and print them
sideways. With a little planning
you can create landscape-
printed booklets using this pro-
gram. You can find Rotate Pag-
es on Q-Link as ROTPAGES,
uploaded by Student 4th.
If you want to get a gray-
scale printout of a color ge-
oPaint document, there are
printer drivers on Q-Link that
will do that for you. There are
Epson versions for the 9-pin
(EPSON9PINCOLOR) and
24-pin (EPSON24PINCOLOR
and EPSON24PINGREY).
Okimate 20 users should look
for OKIMATE20GREY. All of
these were uploaded by Geo-
Rep GHW, the wizard of the
printer drivers. a
The Gazette
Productivity 9
Manager <=
(Formerly PowerPak)
©
Harness the productivity x
power of your 64 or 128!
Turn your Commodore into
a powerful workhorse, keep track
of finances, generate reports
in a snap, manage your
money in minutes—
all with the new 1991
Gazette Productivity
Manager! Look at all
your 64/128 Productivity
Manager disk contains.
ORDER YOUR
1991 GAZETTE
PRODUCTIVITY
MANAGER
TODAY!
GemCalc 64 & 128—
A complete, powerful, user-
friendly spreadsheet with all
the features you’d expect
in an expensive commercial package
(separate 64 and 128 versions are included).
Most commands can be performed with a single keypress!
Memo Card—Unleashes the power of a full-blown
database without the fuss! Nothing’s easier—it’s a
truly simple computerized address file. Just type in
your data on any one of the index cards. Need to edit?
Just use the standard Commodore editing keys. (MasterCard and Visa accepted on orders with subtotal over $20).
Finished? Just save the data to floppy. What could be =p ns
easier? | YES! Please send me __ Productivity Manager disk(s)
($14.95 each),
Subtotal
Sales Tax (Residents of NC and NY please add appro-
priate sales tax for your area. Canadian orders, add
7% goods and services tax.)
—— Shipping and Handling ($2.00 U.S. and Canada, $3.00
surface mail, $5.00 airmail per disk.)
Total Enclosed
— Check or Money Order _ MasterCard _ VISA
Financial Planner—Ansvwers all of those questions
concerning interest, investments, and money manage-
ment that financial analysts charge big bucks for! You
can plan for your children’s education and know
exactly how much it will cost and how much you need
to save every month to reach your goal. Or, decide
whether to buy or lease a new car. Use the compound
interest and savings function to arrive at accurate
estimates of how your money will work for you.
Compute the answer at the click of a key!
DON’T MISS OUT ON THIS
POWERFUL WORKHORSE!
Credit Card No,
(Required)
Daytime Telephone No.
Name
Address
City
State/ 21P/
Province Postal Code
Send your order to Gazette 1991 Productivity Manager,
I
|
\
\
I
I
|
|
I
|
\
I
I
1 signature
|
I
I
|
\
I
I
| 324 W. Wendover Ave,, Ste. 200, Greensboro, NC 27408,
|
I
i
The SID chip gives
the 64 the power
to produce a world
of earthly and
unearthly sounds.
Check these out.
G-24
PROGRAMMER'S PAGE
Randy Thompson
DID YOU
HEAR THAT?
Vince Tagle of Granada Hills,
California, really outdid himself
when he answered my chal-
lenge to produce some wild
sounds for the 64 and 128, My
challenge ran in my April col-
umn, and within a few weeks
of the article's publication, Vin-
ce fired off a letter listing
some very strange-sounding
programs. Here are just a few
of the sounds (noises?) that Vin-
ce sent in. A couple of them
supply some interesting visu-
al effects, as well.
PROGRAM 1
JX 166 FOR I=49152 TO 49258
:READ- D:C=C+D:POKE I
;D:NEXT
IF C<>16497 THEN PRI
NT “ERROR IN DATA ST
ATEMENTS": STOP
SYS 49152
POKE 54278, 240:POKE
{SPACE}54276,129:POK
E 54273,34:POKE 5427
2,75
FOR I=1 TO 15:POKE 5
4296,1:FOR J=1 TO 56
:NEXT:NEXT
FOR I=15 TO 1 STEP -
1:POKE 54296,1:FOR J
=1 TO 200:NEXT: NEXT
SR 160 FOR I=l1 TO 606+INT(R
ND (1) *1000) :NEXT
KR 176 GOTO 136
XB 186 DATA 120,169,35,162,
192,141,26,3,142,21,
3,169,1,141,18,208,1
33,251,133,254
XH 190 DATA 173,17,268,41,1
27,141,17,208,169,12
9,141,26,208,88,96,1
73,25,208,141
JB 266 DATA 25,208,48,7,173
713,220,88,76,49,234
166,251, 232,232,232
232,232,232
CM 216 DATA 232,232,142,18,
208,134,251,228,254,
268,4,230,251,236,25
4,166,253
DATA{2 SPACES}232,13
8,41,15,170,134,253,
189,91,192,141,22, 20
8,76,188,254,200,201
DATA 262,263,204,25
206,207, 207,206,205
1204, 203,202,201,206
KX 116
cp 126
DA 130
GK 140
MP 150
IX 226
QR 230
PROGRAM 2
EX 106 FOR 1=49152 TO 49191
:READ D:POKE I,D:NEX
T:S¥S 49152
HF 116 DATA 120,169,26,162,
COMPUTE OCTOBER 1992
192,141,20,3
KG 1206 DATA 142,21,3,88,96,
120,169, 234,162
DATA 49,141,21,3,142
125,3,88,96,32
DATA 135,234,174,141
12,224,1, 240,246
DATA 76,49,234,0
EF 136
SR 146
HP 150
PROGRAM 3
BP 100 FOR 1=49152 TO 49228
:READ D:C=C+D:POKE I
,D:NEXT
IF C<>9456 THEN PRIN
T "ERROR IN DATA STA
TEMENTS": STOP
SYS 49152
DATA 120,169,43,162,
192,141,20,3,142,21
DATA 3,162,25,169,0,
157,255,211, 202, 208
DATA 250,169,63,141,
5,212,169, 246,141,6
DATA 212,169,17,141,
4,212,169,15,141,24
DATA 212,88,96,166,2
03,224,64,248,18,169
DATA 17,141,4,212,16
5,211,105,14,141,1
DATA 212,141,0,212,7
6,49,234,169,16,141
DATA 4,212,76,49,234
123,212
PRINT" (DOWN}PRESS AN
Y KEY."
Gs 110
cP 120
PX 130
RF 146
GP 150
XF 166
JD 176
SJ 186
XJ 196
DD 206
KB 300
PROGRAM 4
CC 16@ FOR 1=49152 TO 49236
:READ D:C=C+D:POKE I
;DINEXT
IF C<>11843 THEN PRI
NT "ERROR IN DATA ST
ATEMENTS": STOP
SYS 49152
DATA 169,11,162,192,
141,6,3,142,7/3
DATA 96,16,36,36,15,
48,32,201,255,240
DATA 28,133,251,134,
252,132,254,166,253,
224
QB 16@ DATA 5,240,7,169,5,1
33,253,32,210,255
DATA 165,251,166,252
1164,254,76,36,167,1
33
DATA 251,134,252,132
7254,166,253, 224,154
1248
DATA 7,169,154,133,2
53,32,210,255,165,25
1
CH 110
cP 126
MG 136
EB 146
GP 156
DG 176
PQ 186
DI 196
PP 206 DATA 166,252,164,254
,76,243,166,208,14
PROGRAM 5
RS 106 FOR 1=49152 TO 49266
:READ D:C=C+D:POKE I
,D:NEXT
IF C<>13471 THEN PRI
NT "ERROR IN DATA ST
ATEMENTS":STOP
POKE 16383,@:SYS 491
52
RJ 138 DATA 126,169,31,162,
EG 116
HK 126
192,141,20,3,142,21
DATA 3,169,6,141,18,
268,173,17,268,41
DATA 127,141,17,208,
169,129,141,26,208,8
8
DATA 96,173,25,208,1
41,25,208,48,7,173
DATA 13,220,88,76,49
1234,230,254,165, 254
DATA 41,3,208,21,166
1251,232,138,41,15
KR 196 DATA 133,251,170,189
178,192,141,17,268,1
89,94,192
DATA 141,22,208,76,1
88,254,24,25
DATA 26,27,28,29,30,
31,31,30,29,28
DATA 27,26,25,24,203
1204, 205,206,207, 206
GG 236 DATA 205,204,203, 202
201,200, 200,201, 202
1203,0,0,0,0,0
PROGRAM 6
BM 10 FOR I=54272 TO 54295:
POKE I,@:NEXT
POKE 54296,15:POKE 54
277,8:POKE 54278, 255:
POKE 54276,23:POKE 54
287,40
FOR Z=1 TO 6
FOR Fl=255 TO @ STEP
{SPACE}-6:POKE 54273,
F1:NEXT Fl
FOR Fl=0 TO 255 STEP
{SPACE}20:POKE 54273,
PL:NEXT Fl
NEXT Z
POKE 54278,15:POKE 54
296,0
PROGRAM 7
BM 16 FOR 1=54272 TO 54295:
POKE I,@:NEXT
POKE 54296,15:POKE 54
277,8:POKE 54278,255:
POKE 54276,23:F1=10
FOR 2=1 TO 24:F2=30:P
OKE 54273,Fl
FOR Y=1 TO 10:POKE 54
287, F2:F2=F2*1.01:NEX
TY
PL=F1+8:NEXT Z
POKE 54278,15:POKE 54
296,0
BE 146
KX 156
AE 160
GS 170
QP 180
JC 200
AE 210
FG 226
HE 20
GB 30
EB 40
EM 50
SX 60
CE 76
MX 26
SM 30
RA 40
Jc 50
RE 60
Send more sounds, folks!
Our address is listed below.
“Programmer's Page” is inter-
ested in your programming
tips and tricks. Mail them to
Programmer's Page, COM-
PUTE's Gazette, 324 West
Wendover Avenue, Suite 200,
Greensboro, North Carolina
27408. We pay $25-$50 for
each tip that we publish, O
PROGRAMS
SPEEDSPELLER 128
By Christopher Chojnacki
When SpeedScript 128 made its debut in
October 1987, those of us who had
been using SpeedScript for the 64 could
hardly wait to try it out. This new version
took advantage of most of the 128's abil-
ities, but it still lacked two features that
most word processors would call stan-
dard equipment: a spelling checker and
a word counter.
True, programs exist that will take a
SpeedScript file and either count its
words or check its spelling, but they re-
quire an interruption of the creative proc-
ess. You have to save your file, exit
SpeedScript, load and run the spelling
checker or word counter, save the cor-
rected file, load SpeedScript again, and
finally load the file once more. Now,
there's a better way.
Getting Started
SpeedSpeller 128 is a two-part patch
to SpeedScript 128 that adds a high-
performance integrated spelling check-
er, a command line for viewing and
changing the parameters of the spell-
ing checker, a word counter, and a
viewing mode that can double the num-
ber of onscreen lines.
The first part, SpeedSpeller 128, is
written entirely in BASIC. To help avoid
typing errors, enter it with The Automat-
ic Proofreader; see “Typing Aids” else-
where in this section. When you've fin-
ished typing it in, be sure to save the
program.
The second part of the program is
written in machine language. Enter it
with MLX, our machine language entry
program; see “Typing Aids” again.
When MLX prompts, respond with the
following values.
Starting address: 1300
Ending address: 1BEF
When you've finished typing, save this
program with the filename
ESC.PATCH.ML on the same disk as
the first program. When SpeedSpeller
128 runs, it looks for and runs this file.
Running the Program
After you've saved both programs, re-
boot your 128 and run SpeedSpeller
128. You'll be presented with options
to install the patch to SpeedScript 128,
change the device number for the dic-
tionary files, or change the minimum
word length to check for errors.
The first time you run SpeedSpeller,
choose the first option by pressing the
A key. At this point the patch's subrou-
tine package loads into memory, and
you're asked for the SpeedScript 128
filename and the device number of the
drive where it's located. If you're using
only one drive, be sure that the disk
containing your version of
SpeedScript 128 is in that drive before
choosing a device number. After the
patch is installed, you'll be asked for a
filename to save your new version of
SpeedScript 128.
Since SpeedSpeller supports numer-
ous drives, you'll also be asked what de-
vice number you want for dictionary
disks and the minimum word length to
check for spell 1g errors. These values
are then saved to disk in a file called
ESC. Since this also contains subrou-
tines used by the patch, ESC should
be on the same disk as your new ver-
sion of SpeedScript 128. Other options
on the SpeedSpeller 128 main menu al-
low you to display and/or change the
default values that you've already
saved in the ESC file. When you're sat-
isfied that everything is the way that
you want it, you can load and run your
new version of SpeedScript 128 just as
you would your old one.
Changes
Although this new version of
SpeedScript 128 doesn't look any dif-
ferent from the old one, there are
some changes. For one thing, func-
tions Control-A to change a letter's
case and Control-X to transpose two let-
ters no longer exist. They were re-
moved to make room for the patch. Al-
so, some functions have been
switched back to the keys they were as-
signed to in the original version of
SpeedScript. Specifically, Insert mode
is now toggled using Control-I (or the
Tab key), the Run/Stop key now inserts
5 spaces, and the Shift-Run/Stop com-
bination inserts 255 spaces. The Esc
key now gives you four new functions.
Integration
The Esc key, when used alone or to-
gether with the Shift, Alt, Control, or
Commodore (C=) keys, allows you to
check the spelling of the file you have
in memory, change your default values
for the spelling checker, count the num-
ber of words in the file in memory, or
toggle the length of the screen be-
tween 25 and 50 lines.
The first time that you use any of
these new functions, it will be neces-
sary to hold down any key being used
with the Esc key for a few seconds
while the patch loads in the subrou-
tines from the disk. After that, all of the
new functions will be ready to use in-
stantly. Loading the subroutine pack-
age in separately from SpeedScript
128 itself makes it possible to upgrade
or alter these new functions at some fu-
ture time without having to alter
SpeedScript 128 again in the process.
Check Your Spelling
To check the file you're working on for
spelling errors, move the cursor to
where you want the process to begin
and press the Esc key. Your file is
scanned from the cursor position to the
end of the file for words that are at
least as long as the value you set as
your minimum word length.
Subdictionaries for each letter of the
alphabet are then loaded into memory
as necessary and used to check your
file. If you don’t have a subdictionary
on your disk, you can load one from an-
other disk or create one as you go
along. If a word being checked
doesn't appear in a subdictionary, the
file scrolls to a point six words prior to
the word in question. The word is dis-
played in reverse video at the top of
the screen, and you're presented with
a list of options.
Your first option is to add this word
to your subdictionary by pressing the A
key. Do this only if you know the word
is spelled correctly. Your second op-
tion, to edit the word, is selected by
pressing the E key. Type the word ex-
actly as you want it to appear in your
file, using capital letters where neces-
sary. Finally, if you don’t want to edit
the word or add it to your subdiction-
ary, you can skip the word by pressing
the S key.
Be Aware
There are a few things to remember in
general about this spelling checker.
OCTOBER 1992 COMPUTE G-25
PROGRAMS
The first is that SpeedSpeller 128 au-
tomatically cancels Insert mode. Simi-
larly, the search and replace buffers
are cleared anytime you use Speed-
Speller 128's Edit option. The next
thing to remember is that words are not
case sensitive. Therefore, capital, Cap-
ital, and CAPITAL all appear the same
and are all checked using the same
word in the C subdictionary. Also, con-
tractions are viewed as two words. So
couldn't, for example, will appear to be
misspelled as couldn. You can abort
the checking process at any time by
pressing the Restore key and then
pressing the N key when asked if you
want to exit SpeedScript 128.
The chart below summarizes the
changes that have been made.
Key
Combination Function
Esc Check spelling
Alt-Eso View/change default
values
Control-Esc View/change default
values
C=-Esc Toggle between 25
and 50 lines
Shift-Esc Word-count
Run/Stop Insert 5 spaces
Shift-Run/Stop Insert 255 spaces
Control-| Toggle Insert mode
Tab Toggle Insert mode
Restore Cancel spell-
checking
File Management
Whenever SpeedSpeller 128 updates
a subdictionary, it saves a temporary
version of the new dictionary, verifies it,
erases the old one, and then renames
the temporary one. This is done to en-
sure that you don't accidentally lose or
otherwise damage a subdictionary
while updating it. For this reason, it’s
necessary to always have enough
room left on a disk to have an extra
copy of your largest subdictionary. Al-
so, it's best not to save any documents
with a single character as a filename,
just to be sure that you don't inadver-
tently destroy a subdictionary.
Subdictionaries can be loaded into
SpeedScript 128 and edited if you ac-
cidentally add a misspelled word. The
file format is simple. The first letter of
the file is the name of the file in reverse
video. This is made by pressing the £
G-26 COMPUTE OCTOBER 1992
key while holding down the Control key
and then pressing the letter that you
want when asked to press a format
key. Each word is then stored without
the first letter and with the last letter in
reverse video. No spaces separate the
words, and no space or return is at the
end of the file. For example, if the Z sub-
dictionary contained the words zany, ze-
bra, and zipper, it would look like this.
BanMebrBlippell
A subdictionary stored in this man-
ner uses less space and can be load-
ed into memory faster.
Default Values
You can view at any time the default val-
ues for your subdictionary drive num-
ber and the minimum word length to
check for spelling errors. Press the Esc
key and either Alt or Control. To
change these values, keep the Alt or
Control key pressed down, release the
Esc key, and press either the D key to
cycle through device numbers 8-15 or
the W key to cycle through word
lengths of four to seven characters.
These values remain in effect until you
change them or turn off your computer.
Counting Words
Pressing the Esc key while holding
down the Shift key counts all of the
words in the file in memory in three sec-
onds or less. There are a few things to
consider, however, when using this
function. The first is that contractions
and hyphenated words are counted as
multiple words. For example, couldn't
is considered two words. Also, num-
bers are not counted as words.
Doubling Your Fun
Finally, we come to the last of Speed-
Speller 128's new features. By press-
ing the Esc key while holding down the
Commodore (C=) key, you can toggle
between SpeedScript 128’s normal dis-
play of 25 lines and 50 lines of on-
screen text.
This is possible by using what's
known as Interlace Display mode. Un-
fortunately, not everyone will be able to
use this feature. You'll need a good
RGB monitor with a vertical-hold con-
trol. To reduce any flickering, try reduc-
ing the brightness of your monitor or us-
ing text and background color combi-
nations that have a lower contrast.
If you exit and then reenter
SpeedScript 128 while in this mode,
you'll have to toggle this feature once
to reset your display. Additionally,
SpeedScript 128 will seem a little slug-
gish when using this mode because
the program has to handle twice as
much information every time it updates
the screen. Also, because the comput-
er's Operating system doesn't recog-
nize this mode, only the upper half of
the screen will be used anytime you dis-
play a disk directory or print a file to
the screen.
A Final Word
The type of disk drive that you use can
either help or hinder a spelling check-
er’s performance. The way that words
are stored in a subdictionary is also a
factor. SpeedCheck 128, the spelling
checker on COMPUTE's SpeedScript
disk, stores words in its dictionary ina
random order. This means the entire
subdictionary has to be checked from
the beginning until it either finds the
word it's looking for or runs out of
words in the subdictionary. This proc-
ess can be very fast or very slow.
SpeedSpeller 128, on the other
hand, stores the words in its subdic-
tionaties in alphabetical order and
then uses what is known as a binary
search to look for words. This method
involves dividing each subdictionary in
half and deciding in which half the
word being checked should be found.
This halving continues until either the
word is located or the half is too small
to be divided again. This process is
very fast. The time required to check
the spelling of a word will generally re-
main the same regardless of the
word's location in the subdictionary,
the size of the dictionary, or whether or
not the word is in the dictionary.
Speaking of size, depending on how
much memory your version of
SpeedScript 128 uses, each subdiction-
ary can contain approximately 7000
words. This means that an entire diction-
ary can contain about 182,000 words.
In addition, because of the way Speed-
Speller 128 handles the loading and
saving of subdictionaries, you don't
have to keep all of your subdictionaries
on a single disk.
SPEEDSPELLER 128
AD @ POKE48,128:CLR:FAST:IFPEE
QF
CB
PK
JK
HB
PJ
GG
CR
SK
8
9
16 PRINT" {DOWN}C)
ll
12
13
14
15
16
17
18
19
26
21
22
23
24
K (238) <>79THENPRINTCHRS (2
7) "x"
PRINTCHRS (27) "R{7}
{2 HOME} {CLR}"CHRS$ (11) CHR
$ (142) :BA=PEEK (186)
DEFFNMA (X) =PEEK (174) +256*
PEEK (175)
PRINTSPC(12)"{17 SPACES}
LA} RRR K KARR RRR RAKES}
“ =< See Sa es eee
PRINTSPC(12)"{5 SPACES}
{LAP HAKHKAAKHKIRLXS SPEEDSP
ELLER{2 SPACES}128 {Z}***
KHKKKKHHRRES PM
PRINTSPC(12) "{A}****{X} P
ATCH INSTALLATION AND MAI
NTENANCE PROGRAM {Z}***
¢s}"
PRINTSPC(12) "{ZpereaneHe*
HK KKK RIKER KERR KK KKK
TE LELLLLELLELEELELE o>
WINDOW12,7,66,22:PRINT"
£3}{CLR}":WINDOW13,8,65,2
1
PRINT" {CLR}A) INSTALL PAT
CH TO SPEEDSCRIPT 128"
PRINT" {DOWN}B) CHANGE DEV
ICE # FOR DICTIONARY"
CHANGE MI
NIMUM WORD-~LENGTH"
PRINT" {DOWN}CHOOSE AN OP
TION"
GETRS: IF ((RS<"A")OR(RS>"
C") ) THENL2:ELSEIFRS="B"T
HEN33:ELSEIFRS="C"THEN4G
BLOAD"ESC. PATCH .ML",U(BA
) ,B1,P4864:EA=FNMA (@)
PRINT" {CLR}NAME OF SPEED
SCRIPT 128 VERSION TO CO
NVERT:":NS=""s INPUTNS
IF LEN(NS$)<l OR LEN(NS)>
16 THEN14
INPUT" {DOWN}DEVICE # TO
{SPACE}LOAD VERSION FROM
(8 TO 15)";DV
IF DV<8 OR DV>15 THENPRI
NT" {UP}"CHRS(27)"D{2 UP}
":GOTO16
BLOAD (NS) ,U(DV) ,B1,P7169
: EB=EFNMA (3)
READS ,F, KC: IFS=OTHEN22
CK=6:BANK1:FORX=STOF:REA
DN:CK=CK+N: POKEX, N: NEXT:
BANKG
IFCK<>KCTHENPRINT" {DOWN}
ERROR IN DATA FOR LOCATI
ON(S)"S"TO"F:END:ELSE19
PRINT" {DOWN}NAME FOR NEW
SPEEDSCRIPT 128 VERSON:
"ZNS="": INPUTNS
IF LEN(NS$)<1 OR LEN(NS)>
16 THENPRINT"{UP}"CHRS (2
7) "D{3 UP}":GOTO22
INPUT"{DOWN}DEVICE # TO
{SPACE}SAVE NEW VERSION
Jc
BD
EC
RE
MJ
SE
EK
GF
GG
DQ
AH
RM
PD
HH
JG
ER
HS
EX
QA
RM
AK
36
37,
38
39
40
41
42
43
44
45
46
47
48
49
58
51
By}
{SPACE}TO (8 TO 15)";DV
IF DV<8 OR DV>15 THENPRI
NT" {UP}"CHRS$(27)"D{2 UP}
":GOTO24
BSAVE (NS) ,U(DV) ,B1,P7169
TO P(EB) : IEDS<>@THENS2
INPUT" {DOWN}DEVICE # TO
{SPACE}LOAD DICTIONARY F
ROM (8 TO 15)";DD
IF DD<8 OR DD>15 THENPRI
NT" {UP}"CHRS(27)"D{2 UP}
":GOTO27
BANK1: POKE5150 ,DD:BANK@
INPUT" {DOWN}MINIMUM WORD
-LENGTH (4 TO 7)";WL
IF WL<4 OR WL>7 THENPRIN
T"{UP}"CHRS$(27)"D{2 UP}"
:GOTO3G
BANK1:POKE5175,WL:BANK@:
GoTo47
INPUT"{CLR}DEVICE # TO L
OAD 'ESC' SUBROUTINE FRO
M (8 TO 15)";DV
IF DV<8 OR DV>15 THEN33
BLOAD"ESC",U (DV) ,B1,P486
4:EA=ENMA (G) :BANK1:DD=PE
EK (515@) :BANKO
PRINT" {DOWN}DICTIONARY C
URRENTLY LOADED FROM DEV
ICE #"DD
INPUT" {DOWN}NEW DEVICE #
TO LOAD DICTIONARY FROM
(8 TO 15)";DD
IF DD<8 OR DD>15 THENPRI
NT" {UP}"CHRS$(27)"D{2 UP}
"3GOTO37
BANK1:POKE515@,DD:BANK@:
GoTO47
INPUT"{CLR}DEVICE # TO L
OAD 'ESC' SUBROUTINE FRO
M (8 TO 15)";DV
IF DV<8 OR DV>15 THEN4O
BLOAD"ESC",U (DV) ,B1,P486
4:EA=FNMA (@) :BANK1:WL=PB
EK(5175) :BANK@
PRINT" {DOWN}CURRENT MINI
MUM WORD-LENGTH: "WL
INPUT" {DOWN}NEW MINIMUM
{SPACE}WORD~LENGTH (4 TO
7) ";WL
IF WL<4 OR WL>7 THENPRIN
T"{UP}"CHRS$ (27) "D{2 uP}"
7GOTO44
BANK1: POKE5175 ,WL: BANKG
SCRATCH"ESC",U (DV) :IFDS>
1THENS2
BSAVE"ESC",U(DV) ,B1,P486
4 70 P(EA) :IFDS<>@THENS2
SCRATCH"ESC",U (DV) : IFDS>
1THENS2
RENAME "ESC", U (DV) TO"ESC"
,U (DV) :TEDS<>@THENS2
BANK@: POKE7167,@: PRINT"
{2 HOME} {CLR} {DOWN}ALL F
INISHED!":BANK15:POKE48,
4:CLR:SLOW:END
BANKG@: POKE7167,0:PRINT"
{DOWN}ERROR: "DSS$:BANK15
HS
QD
BX
CH
GA
53
54
55
56
57
58
59
66
61
62
63
64
65
66
67
68
69
76
71
72
73
: POKE48,4:CLR: SLOW: END
DATA 7280,7281,281,254,2
7
DATA
a
DATA
DATA
DATA
2
DATA
7283,7284,281,254,2
8181,8181,3,3
8187,8187,255,255
8221,8222,219,177,4
8245,8246,268,172,3
8265,8266,136,99,37
9833,9833,80,80
16169,10109,79,79
16334,10335,206,166
16936,10993,8169
DATA 173,255,27,201,204,
246,36,169
DATA 3,162,224,160,42,32
189,255
DATA 169,0,176,32,104,25
5,173,3
DATA 40,176,168,32,186,2
55,169,0
DATA 32,213,255,144,3,76
169,48
DATA 32,204,255,108,0,19
169,83
DATA 67,234,160,0,185,70
153,240
DATA 6,32,210,255,200,20
8,245,96
DATA 12354,12350,228,228
DATA G,0,0
ESC.PATCH.ML
1300:58
1368:10
1310:32
1318:20
1326:63
1328244
1330:2E
1338:0B
1346:20
1348: 2E
1350:6E
1358:20
13606:20
1368:20
1370:GF
1378:6B
1386:65
1388:64
1390:63
1398: 26
13AG:29
13A8:26
13B6:14
13B8: 06
13C0:16
13C8:20
13D6:59
13D8:12
13E0:65
13E8:00
13F0:60
14
65
38
52
Ol
OF
2E
a9
57
06
26
06
45
53
GE
69
26
26
14
28
20
i}
09
4c
65
41
2F
12
6c
45
Isis}
Ds:
6c
3A
30
GE
63
2E
GE
OF
55
57
26
04
OB
@5
GE
55
53
09
59
44
15
OF
GF
i)
07
4E
95
gc
12
18
16
gc
26
3A
GE
15
0o
67
12
GE
OF
26
69
99
20
o7
16
15
OF
2F
15
G2
GE
gl
3A
ol
29
93
69
12
G5
G4
20
30
20
07
OE
O5
26
2E
OF
26
04
OF
66
gS
G1
14
44
12
3F
OE
69
19
538
12
20
43
53
3A
26
43
53
31
3A
53
20
14
G3
27
2E
17
2D
2c
12
44
63
16
05
69
19
0G
07
G3
26
G1
19
28
GF
19
26
28
OF
5A
9B
8E
16
59
92
06
5D
46
D6
6F
E2
4A
24g
8B
FD
2E
CA
Ol
8c
as}
06
88
AB
66
29
5B
35
BE
EC
oc
a5
@5
0G
26
09
6D
43
20
G4
OB
12
41
14
16
43
GB
o4
G2
GE
4E
12
2D
G1
G4
26
09
3F
14
GE
OF
65
OCTOBER 1992 COMPUTE G-27
PROGRAMS
13F8:15 GE 14 @5 12 26 31 32 AS | 1628:3F 18 DO G5 26 77 18 BO 24 | 1858:AG 13 20 BD FF A9 G6 A2 C6
1400:38 3A 26 0G 26 57 GF 12 65 A9 GO FG DF AD 3E 13 96 | 1860:G6 26 68 FF AQ 80 AE 1E 6E
1488:04 13 @6 43 12 @5 @1 14 ES BF CD @0 @C D@ BO 26 DX | 1868:14 AG BG 20 BA FF 60 A6 GA
1410:45 26 41 0G 44 85 16 G9 56 19 8A DO 95 AD GG OB D5 |1870:BG A4 Bl 20 D5 FF 60 AD 77
1418:43 65 20 23 3A 66 88 26 3B AF 8D FF @B AS 29 48 G4 | 1878:3E 13 69 86 8D 3E 13 8D CE
1426:26 20 4D 09 GE G9 GD 15 5E 2A 48 26 1F 21 26 1F Cl | 188G:18 13 26 CD 18 BO 45 20 96
1428:0D 20 57 GF 12 64 2D 4c 62 20 1F 21 20 1F 21 26 F2|1888:54 18 A9 BO AG 45. A4 46 G3
1436:05 OE 07 14 O8 3A GG 64 AD 21 26 1F 21 A5 29 8D D9 | 1896:26 D8 FF 20 EE 18 BO 34 76
1438:04 3B 65 04 G6 32 07 36 4F 35 A5 2A 8D 14 35 68 52 |1898:20 54 18 20 FE 18 BO 2C 58
1440:98 63 19 G7 12 30 13 G6 38 2A 68 85 29 20 C9 16 C2 |18AG:A9 G1 26 GF 18 26 EB 18 18
1448:20 26 21 66 18 80 26 60 16 18A8:B9 22 AD 3E 13 29 7F 8D 1D
1450:19 68 32 30 DE 1B DE 1B 8C AQ 4A AG 13 26 18 1E EG | 18BG:18 13 26 CD 18 BO 15 AD ED
1458:A5 D3 48 A9 CC 8D FF 1B A3 E5 16 A9 56 AG 13 20 17 | 18B8:18 13 8D 1C 13 AD 3E 13 6c
1460:20 CB 1E 20 52 1D 68 FG 1A 1E 26 64 17 26 52 1D 8F | 18C@:8D 1E 13 A9 G6 A2 19 AG C9
1468:15 4A BO GF 4A BG 69 4A 26 CB 1E AY G2 AG 13 26 FE | 18C8:13 26 D3 18 606 AY G4 A2 DA
1470:B@ 63 4c Bl 1A 4C Bl 1A DS 1E AQ 34 AG 13 26 18 82 | 18DG:15 AG 13 26 BD FF A2 GO 4B
1478:4C 28 1B 4C 81 14 4c 12 FE 18 96 99 AG GG AD 29 17 | 18p8:20 68 FF AQ OF AB 1E 14 51
14806:15 26 CB 1E AQ Fl AG 13 FE G1 20 74 FE 30 GE 29 BF | 18fG:A8 26 BA FF 20 CG FF 20 ES
1488:26 18 1E A5 29 48 AS 2A C4 FO GA C9 1B 16 G6 99 SD | 1888:E7 FF 26 EE 18 60 AO GO 95
1496:48 A9 G@ 85 64 85 65 85 29 | 16CG:6G GC C8 DG EX 8C BG GB A2 | 18FG:20 BD FF AQ GF AE 1E 14 BE
1498:29 A9 G4 85 2A 20 AC 16 DI | 16C8:66 AG GG AD 29 A2 G1 24 DD | 18F8:A8 20 BA FF 26 CO FF A2 83
14AG:CO GG FO G7 E6 65 DG G4 2A! 16DG:74 FF 49 86 A2 29 8E BO F8 | 190G:GF 20 C6 FF 96 24 AD Gl G4
14A8:E6 64 88 C8 98 18 65 29 14 | 16p8:62 A2 G1 26 77 FF C8 CC EA | 1908:8D @6 FF AG FF C8 B9 7D 1F
14B0:85 29 A5 2A 69 OG 85 2A BD | 16£6:00 @B D@ E7 66 AG BB AD 97 | 191G:48 99 G3 GD 10 F7 49 84 71
14B8:A5 29 38 ED 18 35 A5 2A EE | 16£8:29 A2 G1 26 74 FF 99 G6 4B | 1918:8D 8G GD 99 G3 BD AY 2C 18
14CG:ED 19 35 99 D8 68 85 2A 73 | 16FG:8D CC BG GB FO G3 C8 DO 7D | 1926:99 G4 GD AI GE 8D GO FF G3
14C8:68 85 29 A2 13 A5 65 C9 99 | 16F8:5E AD GB 99 GG BD AG BD 23 | 1928:DG 12 AG GG 20 CF FF 99 35
14DG:01 DO G6 AS 64 DB G5 A2 DB | 1704:26 18 1E 60 AD GG 8D FE 75 | 1936:00 OD C8 C9 BD DG F5 AX 9C
14D8:20 8B 69 14 78 26 3D 1D F2 | 1708:0B AC 60 OB 88 98 18 65 D3 | 1938:00 99 GO BD 20 CC FF 26 F5
14EG:A9 66 8D OO FF 38 AS FE BA | 1710:45 85 43 AS 46 69 66 85 62 | 1946:E7 FF AD 66 GD C9 31 16 1E
14E8:A2 96 38 20 75 8C 26 44 Fl | 1718:44 A5 43 38 EO FE A5 44 98 | 1948:02 18 60 20 CB 1B AD E9 A3
14F0:8E AG 60 BO GO G1 FO G6 16 | 1720:E9 FE BO G7 EE FE OB AQ BC | 195G:AG 13 20 18 LE AG G2 CB 5D
14F8:26 GC 1D C8 DO F5 AY BE 24 | 1728:5C DG G2 AD 61 AG 13 20 67 | 1958:B9 BB GD C9 41 3G FB 98 FA
1560:8D 66 FF 20 1C 1D 58 AQ A2 | 1736:18 1B 20 E4 FF D@ FB 20 9F | 196G:AA C8 B9 GB GBD C9 2C DB BA
1508:04 AG 14 20 18 1E EE 15 OD | 1738:84 FF F@ FB C9 53 DO Gl F4 | 1968:F8 AD 3B 99 GO OD BA AG 45
1510:35 66 AY GG 8D 16 35 26 71 | 1746:66 C9 45 DG 4A 20 CB 1E 4F | 1970:GD 26 18 1f AY AG AD 13 3A
1518:CB 1E A9 62 AB 13 26 18 AE | 1748:A9 D6 AG 13 26 18 1E AY 8D | 1978:26 18 1B AY BY AE FD OB AE
1520:1E A9 1F AG 13 26 18 1E 19 | 175g:12 20 83 27 8D B5 35 A8 C8 | 198G:FG G2 AD BE AG 13 26 18 76
1528:AE 16 12 86 BO AE 11 12 CC | 1758:FG F5 88 BO 46 35 99 B6 1A | 1988:1E AY C3 AG 13 20 18 1E 1E
153G:E8 86 Bl A9 @G6 AB 99 BO 17 | 1764:35 CB GB DG F5 AD BO BB D7 | 199g:38 69 EE 15 35 AS 3F 85 6A
1538:GB C8 D@ FA AD 13 35 8D 95 | 1768:8D 96 35 AS 29 85 9E AS 46 | 1998:29 A5 46 85 2A AD 40 BB BC
1546:46 GB AD 14 35 8D 41 OB Bl | 1776:2A 85 9F 26 8A 31 AD BS 35 | 19AG:8D 13 35 AD 41 GB 8D 14 45
1548:A5 29 85 3F A5 2A 85 40 55 | 1778:35 8D 9G OB 18 2E BS 35 6F | 19A8:35 AD GB 8D 96 35 8D BS 13
1550:E6 29 D@ G2 E6 2A 20 1F Bl | 1786:A5 29 38 ED B5 35 85 29 68 | 19Bg:35 26 52 1D 66 AS BO 85 22
1558:21 A5 29 85 41 AS 2A 85 74 | 1788:A5 2A £9 GG 85 2A 66 C9 BO | 19B8:47 AS Bl 85 48 AS 45 85 6F
1560:42 26 AC 16 CO GG DG G1 53 | 1796:41 DO 9F AO G1 8D FD OB 67 | 19cG:49 AS 46 85 4A AO 3F 8D 27
1568:C8 98 18 65 29 85 29 A5 CD] 1798:A9 3F 8D @@ FF AE FF @B E2 | 19C8:96 FF 20 18 1A E@ @6 DB AS
1570:2A 69 6G 85 2A CC 37 14 69 | 17AG:E8 D@ 28 AS 45 85 FE AS BA | 19DG:28 AG Gl Bl FE AA 29 1F 8E
1578:30 67 AD GG GC AB 99 BB 68 | 17A8:46 85 FF AG G1 BY BG BC 6H | 19D8:D9 BG BC 36 23 DB B9 CB B3
1586:6B AS 29 38 ED 18 35 AS 22 | 17BG:91 FE C8 CC 66 OB DG F5 11 | 19BG:8A 30 BF CC BO BB DG EB CC
1588:2A ED 19 35 90 D3 AG G1 CF | 17B8:88 G9 80 91 FE AS 43 85 31 | 19B8:A5 FE 85 49 AS FF 85 4A 75
15906:B9 66 6B D@ 13 C8 CB 1B 5E | 17¢c0:45 AS 44 85 46 AD GE 8D SE | 19FG@:DG D8 CC BB BB DG BE A2 BS
1598:DG F6 206 CB 1B AY 6F AG CO! 17C8:00 FF 66 A5 45 38 ES 26 SA | 19F8:06 AD GE 8D OB FF 60 C8 BY
15AG:13 26 18 1B 20 92 19 60 1F | 17D0:85 B4 AS 46 E5 27 85 BS 94 | 1AGG:Bl FE 16 FB C8 88 98 18 40
15A8:09 40 FG E2 8D 3E 13 AI E8 | 17D8:aC GG GB 88 98 18 65 26 5D | 1A98:65 FE 85 47 85 26 A5 FF E3
15B6:00 99 GG GB 8D FD GB 20 8C | 17BG:85 9E AS 27 69 BH 85 JF 96 | 1A19:69 BG 85 48 85 27 DO B2 4B
15B8:CB 1B AQ 62 AG 13 26 18 4F | 17E8:A5 B5 AA 18 65 27 85 51 52 | 1A18:A5 47 18 65 49 85 26 A5 9C
15CG:1E AQ 34 AG 13 20 18 1E 5C|17FG:A5 26 85 50 18 8A 65 OF 86 | 1A26:48 65 4A 85 27 66 27 66 FA
15C8:26 54 18 A9 GG 26 GF 18 2D| 17F8:85 25 AS 9E 85 24 EB A4 G5 | 1A28:26 A2 G1 AS 26 C5 47 DB 3A
15D0:90 GD 20 EE 18 26 3F 18 51] 189¢:B4 DG G4 FG GB AG FF Bl DA | 1A3G:13 AS 27 C5 48 DG BD C5 FD
15D8:FG@ DD 26 79 1A D@ BB 86 AG | 1898:56 91 24 88 CO FF DO F7 71 | 1A38:46 D@ GB AS 26 C5 45 DB C2
15E0:45 84 46 AS 41 85 29 AS GA! 181G:C6 51 C6 25 CA DO EE AS 46 | 1A46:62 A2 FF 60 AS 26 85 FE F3
15E8:42 85 2A 20 AC 16 C@ GB 1C |] 1818:26 85 FE A5 27 85 FF AG E6 | 1A48:A5 27 85 FF AG OG Bl FE 31
15F@:D@ G1 C8 CC 37 14 16 3D ll 1 B9 GG GC 91 FE C8 CC E6 | 1A5G:3G 24 C6 FF C6 27 88 Bl 14
15F8:98 18 65 29 85 29 AS 2A FA 6 6B DG F5 88 G9 80 91 8F | 1A58:FE 10 FB 98 18 65 FE 85 F2
1600:69 66 85 2A A5 29 38 ED 64 E A5 43 85 45 AS 44 85 DB | 1A6G:FE 85 26 AS FF 69 @0 85 BE
1668:18 35 A5 2A ED 19 35 90 B3 6 AOS GE 8D OO FF 60 20 71 | 1A68:FF 85 27 AS FE 38 ES 45 27
4
B
3
YNABQMAMAUWTHUAUYD
w
Nu
be
i=)
nN
a
Q
X}
e
a
ny
i
Q
a
>
+
1619:DA AD FD OB FO 94 20 CB 6B FF D@ FB 206 £4 FF FO 42 | 1A76:A5 FF ES 46 BO Cl A2 GG 6A
1618:1E A9 62 AG 13 20 18 1E 6F C9 59 FG G6 C9 4E DO E7 | 1A78:6G AD G3 GD C9 26 DG 36 1A
1626:A9 7D AG 13 26 18 1E 20 83 | 1856:F3 C9 59 68 AI Gl A2 3E F2 | 1A86:26 CB 1E AQ OB AG 14 26 39
G-28 COMPUTE OCTOBER 1992
1A88:18 1E AQ 89 AG 13 26 18 C7
1A9G:1E 20 3F 18 D@ 1A AD 3E CD
1A98:13 49 C@ AG 6G 91 BG A5 18
1AAG:B@ 18 69 G1 85 AE AA AS 52
1AA8:Bl 69 @@ 85 AF A8 C4 AF Cl
1AB9:60 26 CB 1E A9 62 AG 13 22
1AB8:20 18 1E A9 AD AG 13 26 97
1ACG:18 1E A9 14 AB 14 26 18 AC
1AC8:1E AD 1E 14 AA C9 BA 30 3D
1AD@:6B A9 31 26 GC 1D 8A 18 1F
1AD8:69 26 D@ G7 49 36 26 BC 2D
1AE@G:1D A9 26 26 GC 1D AO 1F 5B
1AE8:AG 14 20 18 1E AD 37 14 22
1AF9:49 36 26 @C 1D EE 15 35 9E
1AF8:A5 D3 FO 2B 26 E4 FF FO 4B
1B00:F7 29 1F C9 64 D® BE AE 2B
1B08:1E£ 14 E8 8A 69 08 29 OF El
1B16:8D 1E 14 D@ 9C C9 17 DO 2F
1B18:DF AE 37 14 EB 8A @9 64 99
1B26:29 67 8D 37 14 D@ 8A 60 2B
1B28:78 AD 4E 14 8D 4F 14 49 2c
1B30:408 8D 4E 14 AD 45 14 8D 2D
1B38:49 14 49 16 8D 45 14 AD 99
1B40:58 14 8D 52 14 49 2B 8D 24
1B48:50 14 AD 51 14 8D 53 14 98
1B56:49 38 8D 51 14 CD 2F BA 40
1B58:F@ 26 AG GG BE 38 14 C8 6C
1B60:B9 38 14 C8 26 G7 1D CG AB
1B68:16 D@ Fl AO FF AG 16 A2 FB
1B70:1E 26 07 1D 88 D@ FA AD 9B
1B78:58 14 4A 98 63 20 79 El 9B
54 14 AE CF 21 8D CF FD
8E 54 14 AD 55 14 AE 58
21 8D D@ 21 8E 55 14 38
56 14 AE El 21 8D El 39
8E 56 14 AD 57 14 AE BB
21 8D E2 21 8E 57 14 7E
56 14 8D B® 1D AD 51 D3
8D 2F GA 8D 32 26 8D Fl
26 8D 85 26 8D 93 27 69
4B 14 8D 33 26 AD 13 65
85 29 AD 14 35 85 2A AD
2E 26 26 52 1E AD E6 BE
1BE@:21 GA GA GA BA BD D2 21 57
1BE8:A2 1A 20 @7 1D 58 66 G8 76
Christopher Chojnacki is a hotel secu-
rity officer in Port Huron, Michigan. He
plans to upgrade his 128 system with
the addition of a RAMDrive, a color print-
er, and a mouse.
LA BASIC
By Farid Ahmad
One of the shortcomings of 64 BASIC is
that it doesn't allow the use of labels. A
label is a subroutine that is assigned a de-
scriptive name rather than a line number
or address. Torun the subroutine, you sim-
ply call the label by its name. Such a fea-
ture makes a program easy to write and
even easier to modify.
La BASIC adds this facility to BASIC.
It allows the use of labels with GOTO,
GOSUB, and RESTORE. In addition, it pro-
vides two new commands for easy cur-
sor positioning and color control.
Getting Started
La BASIC is written entirely in machine
language. To enter it, use MLX, our ma-
chine language entry program; see
“Typing Aids” elsewhere in this sec-
tion. When MLX prompts, respond
with the following values.
Starting address: COO0
Ending address: C337
Be sure to save a copy of La BASIC be-
fore you exit MLX.
Labels
A label consists of a REM statement in
the following format.
REM=l/abel
The equal sign (=) distinguishes a la-
bel in La BASIC from an ordinary REM
statement. Note that there is no space
between the REM and the equal sign.
A space after the equal sign will be
treated as a part of the label. Labels
may be up to 27 characters in length
and may use any character except quo-
tation marks. Labels may also include
BASIC keywords.
The actual BASIC subroutine would
immediately follow. The keyword RE-
TURN would mark the end of the rou-
tine. Here's a very simple example.
500 REM=PAUSE
510 FOR P=1T03000: NEXT
520 RETURN
Whenever you'd like for the program to
Pause for a few seconds, you could
call the PAUSE label with La BASIC’s
commands.
La BASIC Commands
The following commands are available
in La BASIC.
SYS 49152, 0
This command has no parameters. It
must be used at the beginning of a pro-
gram before any labels are used. It
searches through the entire program
for labels and sets up a table of them,
their line numbers, and their address-
es in a separate area of memory. By de-
fault, the memory under Kernal ROM is
used, but it can be changed as de-
scribed later.
SYS 49152, 1, label
This is the GOTO command. It trans-
fers program control to the line that con-
tains the label. The label parameter
may be any legal BASIC string, charac-
ter variable, or a combination of these.
For example, suppose a program con-
tains a label such as REM=DRAW TI-
TLE. This could be called with any of
the following statements.
SYS 49152, 1,“DRAW TITLE”
TS$="DRAW TITLE”: SYS 49152, 1, TS
AS="DRAW”: SYS 49152, 1, AS+"' TITLE”
SYS 49152, 2, label
This is the GOSUB command. It works
like the normal GOSUB, except that con-
trol is transferred to the subroutine
that starts with the specified label. The
subroutine should end with a RETURN
statement as usual. The label can be
specified as shown previously.
SYS 49152, 5, label
This is a selective RESTORE. After this
command is executed, the DATA point-
er will be set to the line containing the
label. The label can be specified as
with the previous command.
The remaining two commands don't
use labels. However, they make pro-
gramming easier.
SYS 49152, 3(row, column, color
Note that there is no closing pa-
renthesis. This command will clear the
screen, position the cursor at the spec-
ified row and column, and set the text
color. The row may be from 0 to 24,
and the column from 0 to 39. Values out-
side this range produce an ILLEGAL
QUANTITY ERROR.
SYS 49152, 4(row, column, color
This command is similar to the previ-
ous one, except that the screen isn't
cleared before positioning the cursor.
The color parameter may be used in
two ways. If you want to change the
printing color without changing the
text already onscreen, use any Commo-
dore color number from 0 to 15. For ex-
ample, SYS 49152, 4(0, 0, 1 will
change the printing color to white.
OCTOBER 1992 COMPUTE G-29
PROGRAMS
If you want the color change to af-
fect the text that is already on the
screen, add 100 to the color number.
SYS 49152, 4(0, 0, 101 will change the
color of all the onscreen text to white
and make white the printing color.
In both of the above commands, the
color parameter is optional. If you don't
wish to change the text color, leave out
this parameter as well as the preced-
ing comma.
Error Messages
La BASIC may generate the following
error messages.
LABEL USED TWICE IN LINES: 11,12
LABEL TOO LONG
This error occurs when an attempt is
made to define or call a label longer
than 27 characters.
LABEL NOT FOUND
MISSING LABEL
This error occurs if a null string is spec-
ified as the label in the GOTO,
GOSUB, or RESTORE statement.
OUT OF LABEL MEMORY
Label memory may be increased as de-
scribed below.
Label Storage
By default, the labels are stored under
Kernal ROM. To use some other mem-
ory area, use the following statements
with appropriate line numbers at the be-
ginning of the program (before the SYS
49152, 0 command).
5 POKE 49967,B0/256: POKE 49968,B0-
INT(B0/256)*BO
10 TP=TP-32: POKE 49969, TP/256: POKE
49970,TP-INT(TP/256)*BO
In this case BO equals the bottom of
the storage area, and TP equals the
top of the storage area.
Each label requires 32 bytes of stor-
age, so you can have 32 labels per 1K
of memory. Thus, if the default memo-
ry area is used, up to 256 labels may
be defined.
The advantage of storing labels ina
separate area of memory is that La BA-
SIC doesn't have to look through the en-
tire BASIC program each time a label
G-30 COMPUTE OCTOBER 1992
is used. This can speed things up con-
siderably. The speed gain will be espe-
cially significant in long programs that
contain many subroutines and REM
statements. As long as the REM state-
ments are placed between two subrou-
tines, they won't slow BASIC down and
your programs will run faster.
Command Summary
SYS 49152, 0 Set up table of
labels
SYS 49152, 1, GOTO label
label
SYS 49152, 2, | GOSUB label
label
SYS 49152, 3
(row, column, Clear screen, posi-
color tion cursor, set color
SYS 49152, 4 Position cursor, set
(row, column, color
color
SYS 49152, 5, | RESTORE to line con-
label taining label
LA BASIC
C@60:26 FD AE 26 9E B7 EG Gl 7F
CGG8:FG 19 EG G2 FO 1E EG 83 49
CG1G:FG 14 EG G4 FG 13 EG B5 G6
CO18:FG 15 EG G6 FO 14 A2 BE 9E
C626:4C 8B E3 4C 66 Cl 4C F3 82
CG28:Cl 4C F8 Cl 4C D6 Cl 4C 66
C03G:4C C2 A5 2B 85 G3 A5 2C OF
CG38:85 64 AD 2F C3 85 FD AD 64
C646:36 C3 85 FE A9 GB AD G1 FA
CG48:91 FD A9 6G 8D 35 C3 AG BB
CG56:060 Bl G3 85 65 C8 Bl G3 AB
C058:85 06 C8 Bl G3 8D 33 C3 CA
CG66:C8 Bl 63 8D 34 C3 C8 Bl DF
CG68:03 C9 8F FG G3 4C 4C Cl 82
C67G:C8 Bl 63 C9 3D FO G3 4C BF
C@78:4C Cl A2 6G AG G6 Bl G3 68
CG8G:C9 66 FG 19 9D GF C3 C8 18
C@88:E8 E@ 1C DG Fl AE 33 C3 BB
CG9G:AD 34 C3 86 39 85 3A 4C 77
C998:98 C2 4C CC CB AY BB 9D B7
CGAG:GF C3 20 8F Cl CO 68 FB 99
CGA8:34 AG G2 Bl FB 85 G5 C8 96
CGBG:Bl FB 85.06 A9 37 85 G1 51
C@B8:58 AQ Fl AG C2 26 1E AB 97
CGCG:A6 G5 A5 66 28 CD BD AY 49
C@C8:2C 26 D2 FF AE 33 C3 AD 3A
C@DG:34 C3 26 CD BD AY 8D 26 GE
CGD8:D2 FF 6C G2 G3 AD 35 C3 6E
CGEG:FG GA AQ DC AG C2 26 1E CE
CGE8:AB 4C 65 A4 AG GG 38 AS 65
CGFG:63 E9 G1 91 FD C8 A5 G4 GA
COF8:E9 @@ 91 FD C8 AD 33 C3 A8
C10G:91 FD C8 AD 34 C3 91 FD 91
C168:C8 18 A5 G3 69 G2 85 G3 3C
C11G:A5 G4 69 GG 85 G4 A2 GO 16
C118:BD GF C3 C9 GG FG 37 91 BE
C126:FD C8 E8 4C 18 Cl 91 FD 9F
C128:18 A5 FD 69 28 85 FD A5 38
C130:FE 69 66 85 FE A5 FE CD 40
C138:32 C3 FO 64 BB G9 98 GC FA
C14G:A5 FD CD 31 C3 96 G5 AD F6
C148:01 8D 35 C3 AY GG AD B1 22
C156:91 FD A5 65 85 63 AS @6 AA
C158:F@ @5 85 G4 4C 4F CO 60 G8
C166:28 74 C2 20 8F Cl CO 1 71
C168:D@ 1B AG 6G Bl FB 85 7A 32
C176:C8 Bl FB 85 7B C8 Bl FB FA
C178:85 39 C8 Bl FB 85 3A AQ 55
C180:37 85 G1 58 6@ AQ AC AG 4A
C188:C2 26 1E AB 4C 65 A4 AD E2
C196:2F C3 85 FB AD 36 C3 85 48
C198:FC 78 AQ 34 85 Gl AG Bl AZ
C1AG:Bl FB F@ 2A AG G4 A2 BO 17
C1A8:Bl FB F@ 1A DD GF C3 D@ 47
C1B@:85 C8 E8 4C A8 Cl 18 A5 EC
C1B8:FB 69 26 85 FB A5 FC 69 CA
C1C6:68 85 FC 4C 9E Cl BD OF 96
C1C8:C3 DG EB AG G1 66 AG OO B4
C1D@:A9 37 85 G1 58 66 AY B3 52
C1D8:20 FB A3 20 74 C2 A5 7B 57
C1EG:48 AS 7A 48 A5 3A 48 AS 12
C1E8:39 48 AOS 8D 48 26 63 Cl 74
C1FG:4C AE A7 AY 93 26 D2 FF 98
C1F8:A9 28 20 FF AE 20 9E B7 4A
€200:86 62 26 FD AE 20 9E B7 18
C268:8A A8 A6 62 EB 19 BB 37 F5
C216:CG 28 BG 33 18 26 FO FF 6C
C218:A8 66 Bl 7A C9 2C DG BD 79
C226:20 FD AE 20 9E B7 EG 63 G6
C228:B@ 64 8E 86 62 60 38 8A CD
C23G:E9 64 AB GG 8D 86 B2 99 FB
C238:00 D8 99 GB D9 99 BB DA 37
C246:99 66 DB C8 D@ Fl 66 A2 4C
C248:6E 4C 8B E3 20 74 C2 20 10
C250:8F Cl C@ G1 FO G3 4C 85 E7
C258:Cl AG 86 Bl FB 85 41 C8 43
C260:Bl FB 85 42 C8 Bl FB 85 1D
C268:3F C8 Bl FB 85 46 AQ 37 6D
C276:85 G1 58 60 20 FD AE 26 86
C278:9E AD 26 A3 B6 AA FO 22 5B
C280:C9 1C BG 14 85 62 AD BO BE
C288:Bl 22 99 OF C3 C8 C4 B82 60
C296:D6 F6 AI BB 99 BF C3 6G 62
C298:A9 BD AG C2 20 1E AB 4C BF
C2AG:65 A4 AI CD AG C2 26 1E 82
C2A8:AB 4C 65 A4 12 4C 41 42 94
C2BG:45 4C 20 4B 4F 54 20 46 27
C2B8:4F 55 4B 44 66 12 4C 41 6B
C200:42 45 4C 20 54 4F 4F 26 E2
C2C8:4C 4F 4E 47 66 12 4D 49 B2
C2D6:53 53 49 4B 47 20 4C 41 77
C2D8:42 45 4C 66 12 4F 55 54 27
C2EG:26 4F 46 20 4C 41 42 45 46
C2E8:4C 20 4D 45 4D 4F 52 59 40
C2F0:60 12 4C 41 42 45 4C 20 78
C2F8:55 53 45 44 26 54 57 49 35
C300:43 45 26 49 4B 20 4C 49 E7
C308:4E 45 53 28 3A 26 88 68 C6
C31G:00 GB GB GB GB BB BB BB 97
C318:06 G6 GB GG BB GB BG GB OF
C326:60 G0 GG GB BB BB BH BB AT
C328:00 G6 GB GG BG GO BG BB AF
C330:E0 DF FF 98 86 66 BB 86 20
Farid Ahmad, the author of Sprint III
(June 1992), lives in Islamabad, Paki-
stan.
SPEEDSPELL
By Daniel Lightner
SpeedSpell Utility Program (SUP) and
SpeedSpell are a pair of programs for the
64 that can check SpeedScript docu-
ments for spelling errors. SUP is used to
create and edit SpeedSpell dictionary
disks, and SpeedSpell checks the spell-
ing. If you already have COMPUTE's
SpeedCheck, SpeedSpell can utilize
your SpeedCheck dictionary. Both SUP
and SpeedSpell are written in machine lan-
guage. To enter them, you'll have to use
MLX, our machine language entry pro-
gram; see “Typing Aids” elsewhere in
this section. When entering SUP with
MLX, respond with the following values at
the prompis.
Starting address: 0801
Ending address: 1100
When entering SpeedSpell, respond
with these MLX values.
Starting address: 0801
Ending address: 1518
Be sure to save copies of these pro-
grams after you've finished typing.
The Utility
Load and run SUP as you would any
BASIC program. When the menu ap-
pears, choose option 1 to create a new
dictionary disk. You'll have the option
to format the disk. Before you answer
the prompt, be sure that you place a
new disk into drive 8. Never use a disk
that contains any important files.
Choose Y to format and N to abort.
SUP prompts you to place the target
disk in the disk drive and press the
space bar to begin formatting.
SUP formats the disk and puts end-
of-file markers on certain sectors. The
program puts a unique ID of SS on its
dictionary disks, so try to avoid using
this ID on SpeedScript or SpeedSpell
disks.
After a disk has been formatted, you
won't need to use this option again
with that disk. Using option 1 on a val-
id dictionary disk will destroy any infor-
mation that it may contain.
SUP sets up 104 storage areas,
with each area containing six blocks.
Each letter of the alphabet has four ar-
eas assigned to it, and each area can
hold up to 1535 characters and one
end-of-file marker. Each of those four ar-
eas is designed to hold words whose
second letter falls within a certain
range of characters. For example, the
first area assigned to the letter A
would hold words that begin with A
and whose second letter falls within the
range A-H. The next area assigned to
A would contain words whose second
letters fall within the range /-N. The
next area would be for letters O-7, and
the last area would be for U-Z.
Following this group, the next four ar-
eas would be assigned to the letter B,
then C, and so on. This system re-
serves space for 6140 characters for
each letter. Words are stored in these
areas back to back, minus the first char-
acter, with bit 7 of the last character
set. By storing words in this fashion,
SpeedSpell can check a text file much
faster than the original SpeedCheck.
A newly created dictionary contains
no words. It must be compiled by en-
tering words one at a time, using op-
tion 2, or from SpeedSpell during an ac-
tual spell-checking session. With op-
tion 2, just type the word that you wish
to enter and press Return. If the word
already exists in the dictionary, it will
be ignored.
Option 3 lets you delete any mis-
spelled words that may be in your dic-
tionary. Just follow the same steps
used in option 2.
Option 4 lets you look at an area of
words. Choose this option, and you'll
be prompted for the first letter of the
word. Next, you'll have to enter a num-
ber from 1 to 4, depending on the
word's second letter. The ranges will
be listed so you can easily decide
which range is correct. When the list-
ing starts, you can freeze it by holding
down the space bar. It restarts when
you release it.
If you have a SpeedCheck diction-
ary, use option 5 to add its words to
the SpeedSpell dictionary. It's better to
do this before you put any words in
your SpeedSpell dictionary because
SUP won't check for duplicate words
while adding the SpeedCheck listing.
You'll be prompted as to which disks to
place into the drive.
Use option 6 when you wish to exit
SUP.
SpeedSpell
Once you have a working dictionary,
use SpeedSpell to check the spelling
of your SpeedScript documents. Load
and run SpeedSpell as you would a BA-
SIC program. When the menu ap-
pears, choose the L option to load a
SpeedScript document for checking.
After your file loads, SpeedSpell rac-
es through the document, setting
flags to determine which words will be
searched for in the dictionary. Speed-
Spell uses a specially formatted diction-
ary disk so that it can rapidly find cer-
tain words. After SpeedSpell has set its
flags, it'll prompt you to insert the dic-
tionary disk in drive 8 and press the
space bar. SpeedSpell checks for the
SS ID to be sure that it's a dictionary
disk. Be sure that the other disks you
use have a different ID.
Next, SpeedSpell starts loading cer-
tain sectors from the disk and check-
ing the document for the words found
in those sectors. SpeedSpell only
checks words more than four charac-
ters long. This process can take sever-
al minutes if the dictionary is large. The
dictionary can store 24 disk blocks of
words for each letter of the alphabet. Af-
ter the document has been checked,
you can start editing words. Use the G
option to get the first misspelled word.
If no words are found, SpeedSpell re-
sponds with an End of file! bar and the
Inst/Del key to correct the spelling.
This is a good time to have a paper dic-
tionary handy. Press Return to place
the corrected word in the document.
If a word is correct but not in your dic-
tionary or if the word has been edited,
you can add the word to the dictionary
by selecting the P option. SpeedSpell
checks the dictionary automatically for
the word before it enters it. It will not
save duplicate words.
Function key f7 can be used to re-
call the last misspelled word. It will re-
call the word even if it has been edit-
ed and entered into the dictionary.
Finally, when the last word has
been fixed, select the S option to save
the file to disk. Remember to swap
disks. SpeedSpell looks at the ID to be
sure that you've removed the diction-
ary disk.
SpeedSpell marks the misspellings
by adding a value of 128 to each char-
acter. If you use SpeedScript stage 1
OCTOBER 1992 COMPUTE G-31
PROGRAMS
or stage 2 commands, try not to put
them in bunches of more than four.
SpeedSpell will mistake them for mis-
spelled words and subtract a value of
128 from them, leaving them as use-
less letters in the document.
Choose Q to quit SpeedSpell. Be
sure to make backup copies of all
your important SpeedScript disks,
SpeedSpell, SUP, and especially your
dictionary.
SUP
G801:0B G8 76 17 9E 32 34 30 6E
6809:37 68 GG GB 26 26 24 20 96
G811:20 26 26 26 26 AG C4 BO 86
@819:3C G8 99 F8 6G BO FD G8 F6
0821:99 33 63 88 DG Fl AG B9 4C
0829:B9 GC G8 99 FF G3 88 DG Al
@831:F7 A9 D7 85 2D AO 13 85 B6
G839:2E 4C 66 G1 GA 60 G2 D7 31
G841:13 37 16 B9 6E 69 99 E8 FY
G849:07 C8 D@ F7 EE 62 @1 EE 19
@851:85 G1 C6 F9 D@ ED A2 G3 23
G859:28 34 63 FG 33 C9 G7 DO 95
G861:16 A2 G1 26 34 G3 DB GA AG
@869:A2 04 26 34 G3 18 69 G7 65
G871:18 G5 A2 BA 26 34 G3 85 1D
0879:A8 A5 A7 85 AS AS FE 85 FB
G881:F7 AS FF 85 F8 26 6C @3 73
9889:A5 F8 85 FF A5 F7 85 FE 72
G891:E8 26 34 G3 DG 1E A2 8 21
G899:26 34 G3 AG G2 84 AB 85 2A
@8A1:A6 18 AS FC 65 A6 85 F7 58
68A9:A5 FD 65 A7 85 F8 26 6C EF
68B1:03 4C 13 G1 E8 26 34 63 FB
G8B9:D@ 1C AG G3 84 AB EB 26 36
G8C1:34 03 FO G8 A2 G8 20 34 F4
68C9:03 4C 5C Gl A2 GF 26 34 CF
68D1:03 E6 A7 4C 5C G1 E8 20 AF
68D9:34 63 D@ GA EB 26 34 83 B2
G8E1:18 69 G4 A8 DG D6 EB 26 37
G8E9:34 63 DO GA A2 G2 2G 34 21
68F1:03 18 69 G6 D@ ED A2 68 A2
68F9:20 34 G3 D@ E6 AI GG 85 F7
6901:A7 A4 FB F@ @C G6 FA 2A 37
6909:26 A7 C6 FB CA D@ F2 AB DB
6911:60 48 Bl FE 85 FA AQ 68 FE
G919:85 FB 68 A4 FE D@ 2 C6 4A
6921:FF C6 FE C@ E7 D@ DE A4 BS
G929:FF CO G7 DO D8 AY 37 85 BA
6931:01 58 4C GD G8 A4 AB FO 49
6939:22 AS F7 38 E5 A8 BG G3 7E
0941:C6 F8 38 85 F7 AS FC E5 8A
G949:A8 BO 62 C6 FD 85 FC Bl 3A
G951:F7 88 91 FC 98 DG FB C4 42
6959:A9 FG GA Bl F7 C6 FD C6 76
961:F8 C6 A9 16 EC 66 78 E6 98
9969:01 4C 16 G8 66 GG GB G8 73
6971:C8 G7 9E 32 30 36 31 E3 41
979:92 @9 AX 26 8D B2 92 Cl 6C
6981:8D 18 D9 G8 EF 8D 28 @3 25
9989:76 AB 2G 11 21 DG 26 C7 28
9991:42 26 FA 25 4D @D 26 CC GA
G999:86 1F @@ AQ 45 AA 38 ll A4
G9A1:85 FC CG 59 G3 GO FG AB GE
69A9:54 B8 1E CO 3A D3 G1 SF 66
G-32. COMPUTE OCTOBER 1992
G9B1:31
G9B9:33
G9C1:FB
@9C9:AE
@9D1:06
@9D9:A5
@9E1:8D
@9E9:59
GOF1:EG
G9F9:67
GAG1:80
@AG9:GF
@A11:61
@A19:5A
@A21:7A
GA29:62
GA31:9B
GA39:67
@A41:25
GA49:AG
GA51:68
GA59:D1
GA61:80
GA69:FO
@GA71:71
GA79:4A
GA81:89
GA89:A8
GA91:48
GA99:G1
@AAL:A5
GAA9: G3
@AB1:3B
GAB9: GA
GAC1:CE
GAC9:A2
@AD1:8A
GAD9: 48
GAE1:0A
GAE9: 48
GAF1:01
GAF9:BF
@B@1:C5
@BG9:38
@B11:0A
@B19:14
@B21:GA
@B29: 66
@B31:E6
6B39:D4
6B41:28
@B49:DG
@B51:34
6B59:6D
GB61:CG
@B69:C4
@B71:45
@B79:00
@B81:CB
6B89:58
GB91:26
@B99:A2
GBA1: 40
G@BA9:A2
@BB1:F6
@BB9:G5
@BC1: 36
@BC9: 3E
17
67
cg
9c
sai,
AA
69
FC
OF
59
13
89
OF
Bo
2B
OB
18
ct)
E2
4G
gc
El
G3
D8
BG
cg
AC
E4
96
8c
9D
89
02
FE
OF
86
63
E6
EE
GF
4c
ol
6E
AA
36
AG
ce
38
26
26
6B
4c
CE
G1
16
62
86
GA
GE
93
58
cé
41
EC
4D
Dg
18
@BE1:C5
@BE9:99
@BF1:81
GBF9:93
GCG61:66
@CG9:FA
@C11:0C
@C19:AE
@C21:48
@C29:EC
6C31:12
6C39:68
0C41:16
6C49:66
9C51:98
9C59:66
@C61:A5
GC69:G1
@C71:47
6C79:8C
GC81:9C
@c89:54
@C91:56
@C99:DG
@CA1:85
GCA9:A8
@CB1:3C
@CB9: 21
@ccl:14
@CC9: G2
gcD1:31
@CD9:C7
GCE1:86
GCE9:10
@CF1:31
@CF9:D4
G@DG1:AA
@DO9:F5
@D11:FF
@D19:C2
@D21:9E
@D29:A5
@D31:85
@D39:E5
@D41:58
GD49:89
@D51:C9
@D59: 48
6D61:1F
@D69:AA
@D71:88
GD79:A9
@D81:27
@D89:EE
@D91:81
@D99:45
@DA1:E9
@DA9: 26
GDB1:68
GDB9: 88
@DC1:FF
@DC9:BG
Ag
47
DG
Bg
DA
08
24
C4
48
cs
12
1F
84
86
FE
69
85
91
cé
85
8E
3E
02
Bl
7D
66
75
21
16
17
35
“)
1E
BO
FS
ol
GE
E4
EO
Ct)
cg
1A
85
83
9E
cg
28
5B
F2
93
18
3E
40
AC
91
4D
G3
71
57)
06
gat
8E
@DF1:BG
GDF9:G2
GEG1:29
GEG9:60
58
B2
GE
GG
@F41:C9
GF49:60
GFS1:FE
@F59:1C
GF61:20
GF69:41
@F71:49
GF79:4F
GF81:CG
GF89:41
GF91:36
GF99:31
GFA1:29
GFA9:86
GFB1:3A
GFB9:9E
GFC1:8A
GFC9:B8
@FD1:54
GFD9:92
GFE1:34
GFE9:93
GFF1:G4
GFF9:39
1661:99
1609:43
1611:54
1619:16
1621:26
1929:1D
1631:88
1639:BD
FQ
D6
66
48
17
42
85
28
26
cé
59
37
2D
2D
EF
1c
9G
4G
52
Da
82
29
59
EC
A2
16
25
52
AT
@D
91
4c
04
Ag
GE
53
28
56
14
16
5A
52
@D
69
32
2B
2A
36
G2
FB
DD
1c
43
3c
26
4P
42
44
58
48
52
9A
cé
55
69
77
cB
5c
14
89%
24
4a
GA
48
s}e4
DA
45
8c
pc
GA
DA
42
E3
c8
FC
7B
BB
2D
c3
9A
6D
8E
Al
39
65
AC
10641:4C
1649252
1651:0F
1659:43
1661:DA
1069:BA
1671:45
1079:0E
1081:56
1689:49
1691:C9
1699:1E
16A1:53
16A9:36
16B1:49
16B9:91
16C1:2D
16C09:16
16D1:38
106D9:50
10E1:06
10£9:63
10F1:66
10F9:08
11061:6D
1109:6D
1111:1¢6
1119:12
1121:15
1129:17
1131:1A
1139:1C
1141:1F
1149:86
1151:8A
1159:07
1161:11
1169:65
1171:4F
1179344
1181:4C
1189:54
1191:9A
1199:58
11A1:64
11A9:49
11B1:96D
11B9:65
4A
41
SA
52
53
A3
8B
80
49
4P
85
19
CM
29
54
56
68
14
34
54
G1
G4
G6
Dd
6B
@D
16
12
15
17
1A
1D
1F
GE
87
6D
04
71
52
45
4D
55
20
45
78
4E
ol
oo
SPEEDSPELL
$801:0B G8
9809:37
G811:20
9819:3C
@821:99
G829:B9
@831:F7
G839:2E
9841:18
G849:987
@851:65
9859226
@861:16
G869:A2
6871:108
G879:A8
GO881:F7
G889:A5
G891:E8
G899:26
Ct)
20
98
33
6c
Ag
4c
8E
cs
G1
34
A2
G4
65
AS
A5
F8
26
34
59
4D
@D
45
4B
63
54
Fl
45
4E
35
Ci)
G2
CB
@D
El
cB
18
38
58
ol
G4
66
66
6B
GE
16
13
15
18
1A
1D
26
OF
ec
Us)
OA
o8
44
46
4E
56
26
45
62
26
Es
oo
76
0G
26
99
63
68
78
66
13
Dg
Ccé
63
61
26
A2
A7
FPF
85
34
03
20
gD
F9
41
D2
C4
45
71
57
41
OF
c3
06
Ur)
EG
41
Ut)
1c
3c
5c
02
@4
@D
69
gc
GE
Dg
13
E7
18
1B
1D
3c
83
89
06
16
03
3F
47
4F
57
56
44
44
44
62
EA
17
oo
26
F8
88
99
85
61
B9
F7
F9
FG
26
34
GA
85
85
FF
63
AG
50
B9
B8
53
B8
33
89
El
E9
52
co
46
32
26
TE
BO
CT)
26
40
60
62
Da
67
09
6c
GE
ct)
13
ol
18
1B
1E
F8
39
62
gc
78
34
26
48
56
58
55
43
49
52
69
80
9E
26
26
CT)
De
FF
2D
GE
6E
EE
Dg
33
34
63
26
Ag
F8
AS
De
G2
4F
EF
E7
4E
32
63
20
F3
43
68
44
4c
1D
51
91
2D
68
28
48
36
@D
65
68
OA
De
OF
11
14
16
19
1c
1E
1c
32
GE
95
c2
G4
42
4A
52
SA
26
45
4B
56
15
Uy)
34
20
C4
FD
AG
88
18
@5
99
G1
A2
67
Da
69
G3
FE
6C
85
A2
Ag
47
28
63
91
cl
44
A4
Bl
54
38
44
45
28
55
E2
2D
6c
2c
4c
F8
63
65
68
OA
6G
oF
12
14
17
19
1c
1F
8F
12
ol
6B
1D
57
43
4B
53
gD
53
43
26
45
1B
i)
36
26
B9
a8
69
De
85
78
E8
EE
63
Dg
OA
07
85
85
63
FE
68
85
@8A1:A6
@8A93A5
68B1:63
@8B9:D9
@8C1:34
@8C9: 03
98D1:63
@8D9:34
@8E1:18
@8E9:34
O8F1:03
G8F9:20
G901:A7
G909:26
G911:60
@919:85
@921:FF
0929:FF
@931:61
0939222
0941:C6
6949:A8
G951:F7
G959:A9
9961:F8
9969:61
6971:CB8
6979:54
6981:85
6989:04
@991:Cl
6999:83
@9A1:D6
G9A9:86
@9B1:DG
G9B9:62
@9C1:85
69C9:08
@9D1:24
@9D9:Cl
G9E1:1B
G9E9:1E
G9FL:FO
GOFO:FO
@AG1L:Al
@AG9:4B
@A11:7D
@A19:1C
@A21:75
GA29:13
GA31:8D
GA39:18
@A41:8B
GA49:84
@A51:29
GAS9:ED
GA61:86
@A69:7D
GA71:24
GA79:B9
GA81:30
GA89:03
GA91:C9
GA99:G6
GAA1L:E3
GAA9:B9
GABL:EC
GAB9:78
@AC1:97
GAC9:DD
65
85
E8
84
A2
A2
5c
E8
De
A2
DG
E6
gc
CA
85
FE
E7
D8
08
ES
F7
FD
98
F7
EC
60
36
AS
D7
8D
ag
17
8D
ol
26
44
85
D2
2D
DG
28
G2
FO
Dl
CA
8D
8A
20
26
D9
8D
CE
62
6A
4
18
EF
16
16
FE
B7
Ag
48
96
23
98
63
CE
F9
18
OCTOBER 1992 COMPUTE
PROGRAMS
@AD1:BG
GAD9:E6
GAE1:1A
GAE9: GF
@AF1:FC
GAF9:11
@BO1:FB
GBG9:C8
@B11:@D
9B19:81
0B21:16
9B29:26
@B31:68
@B39:A5
9B41:DP
GB49:66
OB51:GA
@B59:73
@B61:25
@B69:D7
0B71:60
6B79:00
0B81:80
GB89:76
OB91:6A
@B99:85
@BA1:0B
@BA9:AC
@BB1:18
@BB9:DG
GBC1:1E
OBC9:E2
GBD1:GE
@BD9:99
@BE1:60
GBE9:14
@BF1:6D
OBF9:9A
GCG1:E3
G@CO9:A9
6C11:8A
@C19:AD
@C21:A0
@C29:C9
GC31:04
6039:18
6C41:14
6c49:14
0C51:78
@C59:02
@C61:FB
@C69:FC
6C71:D6
GC79:C4
@C81:FD
0C89:4A
0c91:92
9C99:G4
GCAL: FG
GCA934C
@CB1:FF
GCB9:69
@CC1:EE
@CC9:F3
@cD1:85
@CD9:C4
GCE1:63
GCE9:B4
GCF1:44
GCF9:1C
G-34
4B
G2
gl
BO
81
c3
A4
9c
45
62
AF
GA
B9
FD
65
cD
06
GA
co
cg
68
16
oo
Cy)
80
EA
32
‘FO
24
41
81
ao
B4
OF
DG
68
46
EG
4D
Ol
68
25
GE
ce
14
19
G2
38
FB
22
43
33
BE
26
26
47
63
46
85
A3
8D
99
G1
E8
6a
86
Go
6c
@1
51
18
Uy)
2
COMPUTE OCTOBER 1992
9D21:69
6D29:47
@D31:F9
@D39:44
@D41:96
@D49:92
6D51:BC
@D59:G5
@D61:85
GD69:FG
@D71:09
@D79:8A
@D81:58
GD89:5F
@D91:Ba
6D99:A9
GDA1:61
GDA9: 86
@DB1:4D
6DB9:15
@DC1:A2
@DC9:DB
@DD1:1F
GDD9:A2
@DE1:DD
GDE9:96
@DF1:FD
GDF9:E3
@EG1:7A
GEG9:05
@E11:20
GE19:00
@E21:27
GE29:FB
GE31:Bd
GE39:12
GE41:2B
GE49:F9
GE51:A9
GE59:8D
GE61:FC
GE69:AE
GE71:CC
GE79:B3
GE81:20
GE89:A5
@E91:DF
GE99:AG
GEA1:8¢
GEA9:C6
GEB1:B4
GEB9:A9
UWAIBWRAWAHRIIA
Dl
73
6F
9A
DB
68
c2
FO
35
4A
AD
BA
AB
4E
48
54
8a
ol
4c
6C
5c
Ds
A2
59
AD
B4
8D
FO
68
62
CA
64
EO
26
BL
ol
E4
57
CE
16
FB
26
95
6B
6F
BE
AE
86
62
5E
36
61
AG
19
62
1D
6G
7B
45
7B
Uh)
96
AC
B2
F6
ce
3c
8E
39
4G
5B
28
21
206
oo
1c
@4
4A
95
61
22
E9
36
@5
Cc
@8
OF
6A
45
41
GE
BC
DG
0G
36
7E
61
16
99
8c
4E
62
DG
29
5A
85
ES
57
87
44
93
2D
06
DE
26
26
68
8E
FF
D5
39
ol
co
gc
79
6E
G2
BG
89
F6
BF
81
OF31:03
GF39:26
GOF41:AA
GF49:34
GF51:96
GF59:8D
GF61:B9
GF69:B9
OF71:BF
GF79:GA
GF81:5C
GFD9:EB
@FE1:3EE
1609:65
1611:26
1619:80
1621:62
1029:4C
163
SAMAINDAOASDANVQVUSKPYITDHONS0AATOORa eH
1159:65
8D
GE
co
18
38
C3
ED
18
98
7E
cD
31
15
AC
12
88
BG
9D
EP
G3
EB
0B
EC
62
8o
E8
69
96
81
pc
DE
2B
26
Cc
DG
AS
66
@D
o7
60
oo
96
78
GE
AQ
De
FA
6B
82
4c
E9
76
19
86
4c
B9
16
2B
De
De
5
9A
68
54
41
16
26
4D
AD
F3
69
@2
6D
13
66
80
19
i)
59
OA
O4
@1
18
80
86
UT)
AD
36
i)
gc
37
E9
FE
FG
79
9c
BA
4c
Ag
Fl
99
c8
D7
gc
D3
12
9D
ol)
28
8D
12
1E
1161:6F
1169:16
1171:07
1179:76
1181:16
1189:69
1191:46
1199:0B
11A1:04
11A9:13
11B1:96
11B9:27
11C1:41
1109:36
11D1:6C
11D9:C8
L1E1:A9
11E9:4F
11F1:64
11F9:4A
1201:A5
1209:A9
1211:B1l
1219:EC
1221:20
1229:5B
1231:91
1239:C9
1241:ED
1249:80
1251:56
1259:E9
1261:A7
1269:CO
1271:01
1279:62
1281:FB
1289:D8
1291:26
1299:AD
12A1:27
12A9:0A
12B1:F7
12B9:C9
12C€1:34
12€9: 26
12D1:96
1209:81
12E1:Cl
1269:31
12F1: 36
12F9:00
1301:30
1309:A8
1311259
1319:1¢c
1321:45
1329:FO
1331:49
1339343
1341:51
1349:53
1351:6C
1359:72
1361:53
1369:93
1371:E8
1379:C3
1381:55
1389:6D
81
92
CE
2c
Bg
@3
F8
43
36
4c
G1
FG
BO
cs
DE
o7
ec
09
Ag
E@
36
9A
71
16
EF
Bo
34
ol
8F
88
Da
20
c2
18
AD
85
26
Fl
E6
CA
14
29
Ag
26
63
65
EG
OB
4D
31
32
07
B6
OF
oo
68
96
9A
El
i)
B7
77
54
49
45
9A
86
4P
42
9A
| 1391:0D
26
14
55
4F
49
45
c3
cé6
3E
c4
52
9E
3E
16
86
12
2D
El
4c
2D
OF
Ot)
20
40
66
G2
O4
6G
69
eC
GE
@D
13
1E
18
1B
1E
83
98
88
06
10
93
26
48
58
58
GF
Us)
AC
2B
A4
2F
F4
54
D3
4c
19
43
F7
1D
c7
48
D7
CE
cs
45
9A
2F
8D
68
28
48
36
Do
@5
07
GA
gc
0a
ll
14
16
19
1c
1E
c8
26
G8
12
23
G4
42
4A
52
5A
1B
iT)
1399:3C
13A1:46
13A9:CC
13B1:4E
13B9:34F
13C1:CE
13C9:56
13D1:9B
13D9:26
13E1:49
13B9:8E
13F1:62
13F9:3E
1461:26
1469:18
1411:96
1419349
1421:53
1429:4D
1431:13
1439:2D
1441:10
1449:36
1451:56
1459:9F
1461:93
1469:66
1471:08
1479:D8
1481:9D
1489:0F
1491:12
1499215
14A1:17
14A9:1A
14B1:1C
Daniel Lightner is a frequent contribu-
tor who seldom misspells words now.
DYNAMIC MEMORY
By Frank Gordon
It's possible to watch the 64 in action by
redirecting the interrupt vector at 788 and
789 to a routine that prints selected are-
as of memory to the screen. Dynamic
Memory is such a program, and it does
it 60 times per second.
Dynamic Memory displays selected ar-
eas of memory at the top of the screen in
anine-lne display. Line 1 displays the BA-
SIC pointers from 43 to 56. Lines 2 and
3 display the top 80 bytes of the stack.
Lines 4 and 5 display the 80 bytes of the
input buffer, and lines 6-9 display the
first 160 bytes of BASIC memory.
By examining these, you can see how
BASIC pointers change, how the stack op-
erates when you list and run a program,
and how line numbers are stored in the
stack's last two bytes. You can also see
how the input buffer shortens programs
by tokenizing keywords and how the
screen editor inserts and deletes lines in
memory.
Typing It In
Dynamic Memory is written entirely in
BASIC. To help avoid typing errors,
use The Automatic Proofreader; see
“Typing Aids” elsewhere in this sec-
tion. Be sure to save a copy of the pro-
gram when you've finished typing it in.
Using Dynamic Memory
Load and run Dynamic Memory as you
would any BASIC program, but then en-
ter SYS 900 to activate the screen.
Press Clr/Home and cursor down be-
low the memory display. To deactivate,
press Run/Stop-Restore.
Screen Codes
The display may appear strange be-
cause it consists primarily of screen
codes. Text may be easier to compre-
hend if you switch to upper- and low-
ercase mode by simultaneously press-
ing the Commodore key and the Shift
key.
On the first line, in the upper left cor-
ner, you'll see a line that begins with
the letters ah. These letters represent
the values of memory locations 43 and
44, the BASIC program pointer.
Screen codes a and h equal 1 and 8 in
low-byte/high-byte format.
If you place your cursor on a line of
code and press Return, the line will ap-
pear in the input buffer, which is line 4
on the screen. The original code will ap-
pear shortened because it has been to-
kenized. For example, list line 185 on a
clear part of the screen. It should ap-
pear as the following.
135 FOR J = 900 TO 969: READK: POKEJ,K
:NEXT
Now place your cursor on this line and
press Return. The line will appear in
the buffer (line 4) as follows.
OCTOBER 1992 COMPUTE G-35
PROGRAMS
E)J229008 969: kK: J, K:£) @D@:POKEJ.K:
NEXT@@@@
The line number 135 is stored in the
last two bytes of the stack as @. All
64 tokens are equal to 128 or greater.
In the line above, the BASIC keywords
are represented as follows.
Token Value Screen code
FOR 129 la}
= 178
TO 164 i
READ 135
POKE 151
NEXT 130 ff
Modifying Dynamic Memory
You may wish to modify Dynamic Mem-
ory to examine other pointers and mem-
ory areas. If so, load the program and
enter the following changes.
25 REM INDEX INTO BUFFER AT
30 DATA 165,11,141,0,4 rh
35 REM LINE NUMBER & ADDRESS ~=f\b
40 DATA 162,5,181,57,157,2,4 Fa
50 DATA 202,16,248 QF
60 REM STACK POINTER mK
65 DATA 186,142,9,4 ay
135 FOR J=900 TO 978: READK: POKEJ,K:
NEXT
Now when you run the program, the
first line shows the values for the input
buffer index (11,$b), the current and
previous line numbers and the address
of the current BASIC statement (57-
62, $39-$3E), and the value of the
stack pointer. Many variations are pos-
sible with this display.
You can see a listing of screen
codes in a number of Commodore pub-
lications, including Mapping the Com-
modore 64 and 64C (Appendix G) by
Sheldon Leemon from COMPUTE
Books. You can also see them by run-
ning the following short program.
5 REM PRINT SCREEN CODES
10 FOR X=0T0255
20 POKE 1024+X,X: NEXT
30 PRINT'{3 DOWN}
DYNAMIC MEMORY
MM 5 REM COPYRIGHT 1992 - COMP
UTE PUBLICATIONS INTL LTD
- ALL RIGHTS RESERVED
QS 146 REM ~ REDIRECT INTERRUPT
G-36 COMPUTE OCTOBER 1992
VECTOR TO INSERTED PROG
RAM
DATA 1206,169,145,141,26,
3,169,3
DATA 141,21,3,88,96
REM SHOW BASIC POINTERS
{SPACE}43-56 ON 1ST LINE
OF SCREEN
DATA 162,13,181,43
DATA 157,0,4,202,16,248
AH 15
RX 26
HM 25
QG 36
EP 40
SH 76 REM SHOW LAST 8@ STACK B
YTES ON 2ND & 3RD SCREEN
LINES
EF 75 DATA 162,79,189,176,1,15
7,46,4
MM 80 DATA 262,268,247
XK 85 REM SHOW INPUT BUFFER ON
4TH & 5TH LINE OF SCREE
N
DATA 162,79,189,0,2,157,
120,4
HH 95 DATA 202,16,247
CF 190 REM SHOW 1ST 160 BASIC
{SPACE}PROGRAM BYTES ON
LINES 6,7,8 & 9 OF SCR
EEN
DATA 162,55,189,1,8,157
,200,4
DATA 202,16,247
DATA 162,103,189,57,8,1
57,0,5
DATA 262,16,247
REM BACK TO REGULAR INT
ERRUPT ROUTINE
DATA 76,49,234
FORJ=900T0969: READK: POK
EJ,K:NEXT
FB 96
MP 165
EC 119
PS 115
AD 120
XA 125
RC 136
XH 135
Frank Gordon is the author of Graphos
(April 1992). He lives in Orono, Maine.
SCAN 64
By Daniel Lightner
Here’s a short utility program that lets you
view the entire contents of your 64's mem-
ory. It's similar to Dynamic Memory, also
published in this section, but it doesn't re-
spond to immediate input.
Entering the Program
Scan 64 is written entirely in machine
language. To enter it, use MLX, our ma-
chine language entry program; see
“Typing Aids” elsewhere in this sec-
tion. When MLX responds, reply with
the following.
Starting address: COO0
Ending address: COEF
When you've finished typing in Scan
64, be sure to save a copy to disk be-
fore exiting MLX.
Using the Program
Scan 64 is easy to use. Load it with the
8,1 extension, type NEW, and then
press Return. To activate the program,
enter SYS 49152. At the top of the
screen, Scan 64 displays the range of
addresses being displayed, followed
by the contents of the first 512 bytes of
memory. (Note the ah in bytes 43 and
44, as mentioned in connection with Dy-
namic Memory.)
To scan forward in memory, press
the right cursor key. To scan back-
ward, hold down the Shift key while
pressing the same cursor key. To exit
the program, press Return.
You can see the contents of Scan
64 itself, by scanning locations 49152-
49663. You can easily spot the words
MEMORY LOCATIONS on lines 7 and
8. If you can't, press the Commodore
key and the Shift key simultaneously to
enter upper- and lowercase mode. If
you load other programs before you
load Scan 64, you can also see their
contents, depending on their starting
addresses in memory.
SCAN 64
9 00 85 F
COGB3A B 85 FC A@ G6 28
CGG8:A9 9A 206 D2 FF AX 93 26 24'
CG@106:D2 FF B9 D7 CO 20 D2 FF DB
CG18:C8 CO 12 D@ F5 AS FC A6 64
C620:FB 26 CD BD A9 26 20 D2 1E
CO28:FF A9 2D 20 D2 FF AQ 24 C5
C630:20 D2 FF 18 A5 FB 69 FF E7
C@38:AA AS FC 69 G1 20 CD BD 96
CG46:A2 G2 26 AF CO 26 C9 CB 6D
C@48:18 AS FD 69 26 85 FD AS 4E
CO5G:FE 69 69 85 FE 20 BA C@ B2
CO58:E@ 16 D@ E9 AS FB 48 AS SA
CO6G:FC 48 A2 6G 20 AF CO AI Bl
C@68:7C 85 FD AOI 64 85 FE 26 38
C@76:C9 CO 26 BA C@ 18 A5 FD 66
C@78:69 28 85 FD A5 FE 69 66 45
C@806:85 FE E@ 10 D@ ED 68 85 26
CO88:FC 68 85 FB 24 E4 FF C9 71
CG90:1D FO G9 C9 9D FH 88 C9 25
C698:8D D@ Fl 69 4C G6 CB 38 4D
COAG:A5 FB E9 6G 85 FB A5 FC 95
COA8:E9 64 85 FC 4C G6 CO AD 46
COBG:D@ 95 FB AI C795 FC A2 4B
COB8:06 66 18 AS FB 69 26 85 FA
COCO:FB A5 FC 69 6G 85 FC E8 D8
C6C8:60 AG GB Bl FB 91 FD C8 A8
CGDG:CB 20 DB F7 AG BB 66 20 3A
COD8:4D 45 4D 4F 52 59 26 4C 75
COEG:4F 43 41 54 49 4F 4E 53 BF
CGE8:20 GB BB BG BH BB BB GB 7A
Daniel Lightner is a frequent contribu-
tor who lives in Sidney, Montana.
MINDBOGGLE
By John Cameron
If you want a challenging yet entertaining
game that will help you whittle away a few
hours, look no further. Mindboggle is
just what you've been looking for.
Mindboggle (not to be confused with
Mind Boggle, May 1984) is a strategy
game for up to four players. Your memo-
ry will be pushed to the limit as you
search through a game:board of almost
200 blocks to locate identical pairs hid-
den within. As if this wouldn't be hard
enough, you must also contend with
three other human or computer players,
who'll do everything in their power to low-
er your score while searching for the
matches themselves. Special blocks
placed randomly throughout the board
may be either helpful or harmful to you.
If used to your advantage, they may
mean the difference between the joy of
victory and the agony of defeat.
Getting Started
Mindboggle consists of two programs.
The first is written in BASIC. To avoid
typing errors, enter it using The Auto-
matic Proofreader; see “Typing Aids”
elsewhere in this section. When you've
finished typing, be sure to save a copy
of the program before exiting Proofread-
er. The second program is written in ma-
chine language and must be typed in
using MLX, our machine language en-
try program; see “Typing Aids” again.
Enter the following values when MLX
prompts.
Starting address: C800
Ending address: CB77
When you've finished typing, save the
program to the same disk as the BA-
SIC portion of the game. Save it with
the filename BOGGLE.ML before exit-
ing MLX.
Game Options
Load and run the BASIC portion of the
game. It automatically loads the ma-
chine language routines. Since Mind-
boggle is a multiplayer game, it plays
with one joystick plugged into either
port or two joysticks. When the title
screen appears, you'll be asked for the
number of players. Move either joystick
to alter the value, and then press the
,
fire button. The initial number of play-
ers is zero. If this value is selected, all
four player positions will be controlled
by the computer.
If human players are competing, the
game will ask them to type in their
names. The final question asked is the
skill level. There are eight levels avail-
able, ranging from Simple to Difficult.
In the easier levels, fewer pairs have to
be found, and a larger number of spe-
cial blocks are scattered throughout
the game board. In the difficult levels,
the board consists almost entirely of
pairs, with only a few special blocks.
Once these options are entered, the
game pauses momentarily to random-
ly place the matching blocks. The
length of this pause depends on the
skill level chosen. Higher levels require
more time to position the increased
number of pairs.
Playing the Game
When the game begins, you are pre-
sented with a view of 171 blocks,
turned so that only their backs are show-
ing. The players’ names are arranged
below them, with the current player’s
name highlighted in white. Scores are
shown under the names, and the num-
ber of pairs remaining to be found is
printed at the bottom of the screen. A
cursor in the shape of an open rectan-
gle appears at the top of the screen.
Its color corresponds to the color in
which the current player's score is dis-
played. This helps in determining
whose turn it is.
Move this cursor to a block that you
wish to open. Press the fire button to re-
veal one of five possible designs.
When a block is uncovered, the player
must then find its twin, located some-
where else on the board. If the second
block doesn’t match the first, then
both are turned back over. If the two
match, that player earns 100 points,
and both blocks are covered by a mark-
er in that player's color. Among the spe-
cial blocks found in the game is one
that looks like a closed hand. If it's en-
countered before or after uncovering a
patterned block, then all blocks which
match that pattern are revealed. This
can be advantageous when a pattern
has more than one twin, thus earning
the player a greater number of points
in a single move.
If one player uncovers several hand
blocks in a row, play continues until
that player locates a different block de-
sign. If any succession of hands ends
with a happy face block or if this block
is revealed upon a player's first move,
then that player is awarded 250 bonus
points instantly. Stop blocks are rare,
and they resemble a stop sign with a di-
agonal line crossed through it. Come
across one of these at any time, and
you lose your turn.
Perhaps the most interesting block
is the masked thief block. This gray
block lets you steal 50 points from any
opponent by changing the opponent's
colored marker to your own color. If no
opponent markers are available, then
select a closed block as the target in-
stead. Should a closed block be re-
vealed instead, it will remain open if it's
not a pattern block. The game contin-
ues until every pair is revealed. This
doesn’t necessarily mean that every
block is opened. There may be some
special blocks hidden even after the
last set of twins has been located. At
this point, the game goes to a special
wrap-up screen, where the final
scores and statistics are displayed.
The winner is the individual with the
highest score. If two players have the
same score, the winner is the one with
the greater number of markers. So try
to keep as many blocks as you can.
With the game over, hit the fire button
to play again. You will be returned to
the title screen and given the option to
keep the same players for a second
game or to change them. Likewise, the
skill level may then be altered for a
more or less challenging game, depend-
ing on your preferences.
Computer Opponents
One of the most attractive features of
Mindboggle is the ability to pit your
wits against the computer. Though it
may sometimes seem like the machine
has the advantage, it actually tackles
the game much in the same manner
that we do. It uses a probability func-
tion to calculate its chances of finding
a hidden pattern and its match. Like a
human being, it's more apt to locate a
block that has been revealed several
times when there are few blocks remain-
ing. Its memory capability increases,
however, at higher skill levels.
OCTOBER 1992 COMPUTE G-37
PROGRAMS
ied GM 16 GOSUB205:2L=0 gen gee aes SP
In the higher levels, where speci es
bsele ars Geena a ibaieiorernhe: 17 PRINTLEFTS (DWS, 22) TAB (10 | KS 50 NEXU:NEXN:GOTOS6
1 q' me) Ipr )"{WHT}NUMBER OF PLAYERS | CM 51 C=FNRN(3)+1:ONCGOSUB52,5
sis should be placed on memorizing :{CYN}";PL 3,54,55:RETURN
the locations of patterns, especially 18 GOSUB82:P=PL~(JR=8ANDPL< | DX 52 BL$(K,L)=FI$:RETURN
those that have been revealed numer- 4)+(JL=4ANDPL>@) :IFFB=0T | MH 53 BLS (K,L)=HPS:RETURN
ous times you tne necessary 0 | apy SencsuniENle Ge 35 Besta’ )caveznstonn
use a pad and pencil to j Ww! = ey ued
notes vinta Tee, for or Etning 20 PL=P:GOTO17 JE 56 PRINT"{CLR}{2}!"B1$"#";:
i Cele svt 9 21 IFPL=GTHEN32 FORK=1T018:PRINT"S"SPC (3
patterns don't stay open long. = 22 FORK=1TOPL:GOSUB205: INS= 8) "3"; :NEXT
In the lower levels, the strategy is dif- "sCT=9 PC 57 PRINT"S$"B1S"$${4}"PLS$ (1)
ferent. It's often better to search for hap- 23 PRINTLEFTS (DWS, 22) TAB (4) "{2 SPACES}"PLS(2)"
py faces than the patterns themselves. Bee NAME OF PLAY ie SRaCS Here ye
Not only do you earn a higher score ER"K"{LEFT}: ";:GOSUB25 2 SPACES}"PLS(4)"{2}8";
vai hen aye Bui ailae we patented 24 PL$(K)=LEFTS(INS+" GF 58 PRINT"S$"B2S"%S"SPC (38) "%
Pamshedin Npoleiel fle Wh {7 SPACES}",8) :NEXT:GOTO &"B1$"'{HOME}"
rom having your points’stolen. When 32 DR 59 FORK=2T019STEP2:FORL=1T0
going against a computer opponent, 25 PRINT" {CYN}*"; 19STEP2:PRINTLEFTS (DWS$,K
it's safest to have markers around the 26 GETAS: IFAS=""THEN26 ) SPC (L) VBS
middle of the board, rather than the 27 IFA$=CHR$(13)ANDCT>GTHEN | EJ 68 PRINTLEFTS (DWS$,K) SPC (38-
sides. So if you steal a marker, concen- a PRIND AUPE) "RETURN L) VB$: NEXT: NEXT: QQ=FRE (0
: : IFAS=CHR$ (20) ANDCT>@THEN )
cane a US ce the ees CT=CT-1:INS=LEFT$(INS$,CT | PG 61 PRINTLEFTS (DWS,23)"
will be less likely to change it back. ) :PRINT" {LEFT} "CHRS (26) ; {RIGHT }";:FORK=1T04:AS=S
:GOTO25 TRS$(SC(K))
MINDBOGGLE 29 IF(AS<"A"ANDAS<>" ")ORAS | GF 62 Z=7:GOSUB204:BS="_ "+CS+"
AP @ REM COPYRIGHT 1992 - COMP >"Z"THEN26 ";PRINTCLS (K) BS; :IFK<4T
UTE PUBLICATIONS INTL LTD 3@ CT=CT+1:IFCT>8THENCT=8:G HENPRINT"{2 SPACES}";
- ALL RIGHTS RESERVED 0TO026 XJ 63 NEXT
KF 1 IPA=@THENPOKE53265,11:A=1 31 PRINT" {WHT}{LEFT}"A$;:IN | SQ 64 PRINTLEFTS (DW$,25)TAB(16
:LOAD"BOGGLE.ML", 8,1 $=INS$+A$:GOTO25 )"{CYN}PAIRS REMAINING:
KM 2 POKE56578,63:POKE56576,19 32 GOSUB205:SK=6 {SPACE} {WHT} ";
6:POKE53272,18:POKE648,19 33 PRINTLEFTS (DWS$,22)TAB(5) | XG 65 AS$=STRS (LM) :Z=3:GOSUB264
6:GOSUB96: POKE788,52 "{WHT}ENTER SKILL LEVEL: :PRINTCS"{HOME}"; :HI=-1:
RA 3 PRINT" {CLR} "CHR$ (14) CHRS ( {CYN}";SKS$ (SK) MX=OX:MY=CY
8) :POKE5328G,0:POKE53281 34 GOSUB82:S=SK~(JR=8ANDSK< | QB 66 IFLM<1THEN143
$:GOSUB112 ‘ 7) +(JL=4ANDSK>@) :IFFB=@T | HR 67 CP=CP+1:I1FCP>4THENCP=1
PF 4 IFHS>PHTHENFH=HS HENSK=S:GOTO37 HS 68 GOSUB86:LP=CP
JD 5 PRINT" {HOME} {DOWN} "TAB (11 35 IFS=SKTHEN34 QP 69 GOSUB87:IFPL$ (CP) =CPSTHE
)"{CYNJHIGH SCORE: {WHT}" 36 SK=S:GOT033 N164
: :AS=STRS (FH) :Z=7:GOSUB20 37 GOSUB205:PRINTLEFT$(DWS, | AR 76 GOSUB82
4:PRINTCS 22) TAB (14) "{CYN} PLEASE MJ 71 DX=OX~(JR=8ANDOX<18)+(JL
Go 6 PRINTTAB(14)"{3 DOWN} {2 SPACES}WAIT" =4ANDOX>@) :CX=DX
{BLU} STUVWXYZ4{-}-]": PRIN 38 IFPL<4THENFORK=PL+1T04:P | XA 72 DY=CY-(JD=2ANDCY<8) + (JU=
TTAB (14) "4*}{SHIET~SPACE} L$ (K) =CP$:NEXT 1ANDCY>@)
{KPLIDLTHLOPLGHL+P {MI LED 39 SC(1)=:SC(2)=0:SC(3)=8: | GG 73 GX=GX~(GXAND1) :IFDX>14TH
{2}{s}" Sc (4)=8 ENCX=CX~16 : GX=GXOR1
40 FORK=6T018:FORL=GT08:DI( | RE 74 OX=DX:CY=DY: IFFB=GTHENGO
7 NTTAB(12)"{3 DOWN
EO Peele @ ae K,L) =@:BL$(K,L) ="":NEXT: SUB87:GOTO76
INDTAB (12) {DOWN} {YEE }COM 41 LM=15+10*SK:FORK= BA 76 AS=BLS (OX,C¥) : FDI (OX,C¥
PUTE MAGAZINE" LM=15+16*SK:FORK=1TOLM BA AS=BLS$ (OX,CY): (OX,
HD 8 PRINTTAB(8)"{3 DOWN) {RED} 42 A=FNRN(18) :B=FNRN (8) :IFB ) >GANDAS<>FBSTHEN69
WRITTEN BY{2 SPACES}JOHN L$ (A,B) <>""THEN42 PR 77 BS="{WHT}":IFAS=FISTHENB
{SPACE}CAMERON{4 DOWN}":P ASMBLSIATE be SENN) 2) $=CL$ (CP)
OKE53265, 27 i PCS (FNRN(3),1)+RS$+PCS(FN | PD 78 ZL=~(A$=FI$) -2* (A$=TH$) ~
FD 9 IFFH=GTHEN16 RN (3) ,2) +PCS (FNRN (3) ,3) 3* (AS=HPS) -4* (AS=SS$) -5*
HF 19 GOSUB205:A$(@)="YES":AS( ad ARSED CAE) (ASSEBS)
1)="NO ":¥N=6 45 C=FNRN(18):D=FNRN(8):IFB | AH 79 ONSPGOTO116,119
XX 11 PRINTLEFTS (DW$, 22) TAB (8) L$(C,D) <>""THEN45S SE 8@ HI=-1:SP=2:GX=GXOR-2* (PX
" >14) :GOTO69
aac me PEDEE. PQ 81 SP=1:GX=GX-(GXAND2) : POKE
a RG Ripa MT (A,B,1)=D V+21,GX:GOTO61
ea See ee Sa MDeuse) STEEBCOr 47 MT (A,B,2)=@:MT(C,D,2)=@: | RX 82 J¥=15-(PEEK(J)AND15) : JU=
HENYN=A:GOTO15 7 NEXT JYAND1:JD=JYAND2: JL=JYAN
SR 13 IFA=YNTHEN12 48 FORK=@T018:FORL=8T08 D4: JR=JYAND8
PP 14 YN=A:GOTO11 49 IFBLS(K,L)=""THENGOSUB51 | CE 83 FB=PEEK(J)AND16
G-38 COMPUTE OCTOBER 1992
MG
MF
FA
pce
AR
HA
SF
JR
EB
HD
EM
GP
MM
KS
HH
DH
RC
DH
RB
SG
MQ
QP
XH
HH
CH
SR
Xs
84
85
86
87
88
89
96
91
92
93
94
95
96
97
98
99
166
101
102
163
164
165
1066
167
168
169
116
IFJU=GANDJD=GANDJR=GANDJ
L=GANDFB=16THENA=- (J=563
20) + (J=56321) :J=J+A:GOTO
82
RETURN
FORK=0T07: POKE56097+ (LP-
1) *16+K,11:POKE56097+(CP
~1)*10+K,1:NEXT: RETURN
Z=~(SP=2) : POKEV+48,CL(5)
+ POKEV+39,CL (CP)
POKEV, 28+16*CX: POKEV+16,
GX: POKEV+1,56+16*CY
IFZ=1ANDOX=PXANDCY=PYTHE
NPOKEV+2, PEEK (V) : POKEV+3
, PEEK (V+1)
POKEV+21,1+2*Z:RETURN
DI(Q1,Q2)=5:MT(Q1,Q2,2)=
MT (Q1,Q2,2)+.1
PRINTLEFTS (DW$,Q2*2+2) SP
C(Q1*2+1) BSAS: BLS (Q1,Q2)
=A$:GOSUB202: RETURN
PRINTLEFTS (DW$,Q2*2+2) SP
C(Q1*2+1) VB$:DI (Q1,Q2) =0
:NS=5:GOSUB206
RV=RV-1: RETURN
AS=FBS:BS=CL$ (CP) :DI (Ql,
Q2) =CP:LM=LM~.5:GOT092
DIMBL$ (18,8) ,DI (18,8) ,PC
$(3,3) ,MT(18,8,2) :SO=542
72
DEF FNRN(X)=INT ( (PEEK (SO
+27) /256) * (X+1))
DEF FNP(X)=(PEEK(SO+27)/
256) <x
RS="{DOWN}{2 LEFT}":FIS=
"() "+4RS+"*4"SHDS="{YEL};
<"+RS+" {RED},-"
+RS+"./ =6
FBS="€2"+RS+"*Q": VBS="
{BLU} [{7}£{BLU}"+RS+")}
[eines Tere rue nn es?
:CPS="COMPUTER"
B2$="":FORK=1T03
1$+CHRS$ (34) :B2S=
B2S+"R":NEXT
DWS="{HOME}{24 DOWN} ":g
=56320
FORK=8T03:FORL=@T03: PCS
(K,L) =CHRS$ (97+4*K+L) :NE
XTL,K
FORK=0T02: POKE49152+K, 2
55:POKE49155+K, 255: NEXT
FORK=49158T049203STEP3:
POKEK, 224: POKEK+1, 6: POK
EK+2,7:NEXT
FORK=0T02: POKE49206+K,2
55:POKE49209+K, 255: POKE
49212+K,0:NEXT
CL$ (1) ="{GRN}":CL$(2)="
CL$ (3)="{RED}":C
{YEL}"
L(2)=3:CL(3)=2
:CL(4)=7:CL(5)=12
DATA"SIMPLE{5 SPACES}",
"VERY EASY{2 SPACES}","
RATHER EASY","ALMOST EA
SY","ALMOST HARD"
DATA"RATHER HARD", "VERY
FG
XP
cs
XD
111
112
113
114
115
116
117
118
119
126
121
122
123
124
125
126
127
128
129
138
131
132
133
134
135
136
137
138
139
146
141
142
143
144
145
HARD{2 SPACES}","DIFFI
CULT{2 SPACES}"
FORK=9T07: READSKS (K) :NE
XT: RETURN
V=53248: POKEV+21,0:POKE
V+16,@0:POKEV+2,28:POKEV
+3,56
POKE51192,@:POKE51193,6
3CX=@6:CY= X=8:CP=6:LP
=2:SP=1:0xX=@
FORK=SOTOSO+24: POKEK,@:
NEXT: RV=@: POKESO+15, 255
: POKESO+18,128
RETURN
PX=OX: PY=CY:LZ=ZL: IFZL<
STHENQ1=0X:Q2=CY:GOSUB9
1
ONZL+1G0T086,86,80,118,
81,69
SC (CP) =SC (CP) +250: GOTO8
Mf
IFZL<5THENQ1=0X:Q2=CY:G
OSUB91
ONZL+1G0T0121,136,133,1
35,136,138
ONLZ+1G0T0122,127,125
IFAS<>BL$ (PX, PY) THEN125
SC (CP) =SC (CP) +168:Q1=0x
:Q2=CY:GOSUB95
Ql=PX:Q2=PY:GOSUB95:GOT
081
FORK=1T02500:NEXT
Q1=0X:Q2=CY:GOSUB93:Q1=
PX:Q2=PY:GOSUB93:GOTO81
FORK=6T018:FORL=6T08:CS$
=AS
IFA$=BL$ (K,L) THENQL=K:Q
2=L:GOSUB95:SC (CP) =SC(C
P)+5@:AS=CS$
NEXTL,K:GOTO81
ONLZ+1G0T0132,80
GoTo81
AS=BLS (PX, PY) :GOTO127
IFL2=OTHEN125
GOTO81
ONLZ+1G0T0125,118:GOTO8
i
IFLZ=@THEN125
GOTO81
IFLZ<>2THEN8G
A=PEEK (55337+0X*2+ (CY*2
)*46) AND15:IFA=CL (CP) TH
EN8@
LM=LM+.5:Q1=0X:Q2=CY:GO
SUB95:SC (CP) =SC (CP) +59
FORK=1T04: IFA=CL (K) THEN
B=K:K=5
NEXT: SC (B)=SC(B) ~50:GOT
o8l
POKEV+21,@: PRINT" {CLR}
{2 DOWN} {WHT}{3 RIGHT}F
INAL RESULTS: ":PRINT"
$2} {RIGHT}"B2$
PRINT"{4}{2 RIGHT }NAME"
1,"SCORE","{2 LEFT}BLOC
KS WON{DOWN}"
A(1)=G2A(2)=62A(3)=0:A(
4)=6
Jc
BM
KQ
HF
AF
FK
KR
HK
146
147
148
149
156
151
152
153
154
155
156
157
158
159
166
161
162
163
164
165
166
167
168
169
176
171
172
173
174
175
176
177
178
FORL=6T08:FORK=0T018:A=
DI (K,L) : IFA>@ANDA<STHEN
A(A)=A(A) +1
NEXT: NEXT
FORK=1T04: PRINT" {DOWN}
{2 RIGHT} {BLU}"PL$(K) ,C
L$ (K) 7 :AS=STRS (SC(K) )
2=7:GOSUB204:PRINTCS,:A
$=STR$(A(K) ) :2=4:GOSUB2
64:PRINTCS:NEXT
PRINT"{3 DOWN} {2}
{2 RIGHT}! "LEFTS(B1$,34
) "#"2FORK=1T03: PRINT"
{2 RIGHT}$"SPC(34)"8":N
EXT
PRINT"{2 RIGHT}&"LEFTS (
B1$,34)"""
HS=SC (1) :W=1:FORK=2T04:
IFSC (K) >HSTHENHS=SC(K) :
W=K
NEXT: PRINTLEFTS$ (DWS, 20)
TAB(5)"{CYN}THE WINNER:
We
;
FORK=1T04: IFW=KTHENNEXT
:GOTO157
IFSC (K) =HSTHENA=-K* (A(K
) >A (W) ) -W* (A(W) >A(K)) ~5
*(A(K)=A(W)) :WSA
NEXT
IFW=5THENPRINT" {RED}HIG
H SCORE IS TIED":GOTO15
9
PRINT" {BLU}PLAYER"W"
{WHT} "PLS (W)
PRINTLEFTS (DWS, 24) TAB(8
)"{YEL)PRESS FIRE TO PL
AY AGAIN"
GOSUB82:IFFB=6THEN3
GOTO16G
MX=FNRN (18) :MY=FNRN(8) +
GOTO176
NX=FNRN (18) :NY=FNRN (8):
GOTO175
ONSPGOTO165,174
IFHI>~1THEN197
IFMT (MX,MY,@) =-1ANDBLS (
MX, MY) <>SSSTHEN195
MX=@ :MY=@:FORL=GT08:FOR
K=6T018:A=FNRN (4)
IFMT (K,L,2) >HIANDDI (K,L
) =G@AND (A=GORRV>166) THEN
MX=K:MY=L
NEXT: NEXT
A=FNRN (1) :NX=MT (MX,MY,@
) :NY=MT (MX,MY,1) :HI=MT (
MX,MY,2)
IEMT (MX,MY,@) >~1THENIEN
OTENP (MT (NX,NY,2)+SK*.@
62+RV*.GG1) ANDA=6THEN16
2
IFDI (MX,MY) >@THEN162
GOTO197
IFHI>-1THEN197
ONLZ+1G0TO176,180,183
IFNX=-1THEN163
IFFNRN (9) =GTHEN193
IFMT (NX,NY,@) >~1THENIFN
OTENP (MT (NX,NY,2)+SK*.@
OCTOBER 1992 COMPUTE G-39
PROGRAMS
CE 179
PE 186
GF 181
CD 182
XF 183
EC 184
KH 185
PX 186
BX 187
cp 188
QG 189
Ps 196
KE 191
RD 192
PQ 193
JK 194
GH 195
Gc 196
BS 197
EA 198
CE 199
MH 260
PG 261
KQ 262
XJ 293
MG 204
PX 265
G2+RV*. G01) ANDRV<176THE
N163
GOTO193
IFNX=-1THEN163
A=FNRN (2) : IFA=OTHEN163
GOTO193
IFNX=-~1THEN163
A=- (ENRN (2) =) : IFLM=(15
+10*SK) THENONA+1GOTO163
7193
NX=~1:FORK=0TO18 : FORL=8
TO8:A=PEEK (55337+K*2+(L
*2)*46)AND15
IFBLS (K,L) =FBSTHENGOSUB
196: IFFL=@THENK=19:L=9
NEXT: NEXT
IFNX=—1THENNX=FNRN (18) :
NY=FNRN (8)
GOTO194
NX=K:NY=L:FL=6: 1FA=CL(C
P) THENFL=1:NX=-1: RETURN
B=FNRN (1): IFB>OTHENFL=1
RETURN
IFDI (NX,NY) >@THEN163
HI=5:MX=NX:MY=NY:GOTO19
a
IFLM=(15+16*SK) ANDBLS (M
X,MY) =THSTHEN162
GOTO178
JU=~ (MY<CY) :JD=~2* (MY>C
Y) :JR=-8* (MX>OX) :JL=-4*
(MX<OX)
FB=16: IFOX=MXANDCY=MYTH
ENFB=0
GoTo71
POKESO+24,15:POKESO+5,9
: POKESO+6, 0: POKESO,NS:P
OKESO+1,NS
POKESO+4, 33:FORSD=1T016
@:NEXT: POKESO+4 , 32: RETU
RN
NS=175+75* (AS=FI$) +25* (
AS=HPS) +150* (AS=SSS$) +16
@* (AS=THS) -25* (AS=FB$)
GOSUB209:RV=RV+1: RETURN
BS=LEFTS ("6G00606",2Z):C
S=LEFTS (B$,Z-LEN(A$))+R
IGHT$ (A$,LEN (A$) -1) :RET
URN
POKE781,21:SYS59903:RET
URN
BOGGLE.ML
C86G:7E
C868:3E
C810:7E
C818:3E
C826:7E
C828:7F
C830:7F
C838:3E
C846:77
C848:7F
C856:67
C858:77
C866:78
C868:63
C870:7E
C3 9D Bl Bl 9D C3 7E 9A
77:77 7F 77 77 77 86 86
77:77 7B 77 77 TE 66 2C
77 77 76 77 77 3E @8 B2
77 77 77:77:77 ‘TE 86 CB
77 76 7C 76 77 7F @G 8D
77 76 7C 76 76 76 8G 5B
77 76 77 77:77 *3E 88 64
77:77 «*7E 77:77 «+77 «86 DA
1c 1c 1c 1c 1C 7F 86 36
G7 @7 G7 77 77 3E GO 8E
77:77 ‘7JE 77 77 77 G6 E2
76 76 76 76 77 7F 86 BB
77 7E 7E 77 77:77 66 FO
Teiielietin tie 17) 86 10%
G-40 COMPUTE OCTOBER 1992
33E
C8AG:7F
C8A8:77
C8B6:77
C8B8:77
C8CO:77
C8C8:77
C8DG:7F
C8D8: 66
C8EG: 90
C8E8:76
C8FG:6E
C8F8:80
C9GG:88
C968:68
C916: 68
C918:66
C920:BA
C928:5D
C930:BA
C938:5D
C94G:FF
C948:FF
C950:9F
C958:ED
C96G:0F
C968:FG
C976:CC
C978:73
C986:3E
c988:1C
C996:3E
C998:3E
C9AG:77
C9A8:7F
C9BG:3E
C9B8:3F
C9CO:3E
C9C8:3E
C9D6:66
C9D8: 98
C9EG: 8B
C9E8:FF
COFG:FF
C9F8: G6
CAGG:7F
CAG8: 68
CA16: 86
CA18:6F
CA26:F6
CA28:68
CA36:68
CA38:66
CA46: 66
CA48:68
CA56:98
CA58:66
CA6G: G6
CA68:08
CA7@:68
CA78:66
CA8@:96
CA88:FE
CA9G:G5
CA98:86
CAAG:2E
CAA8:81 Cl El Fl F9 FD EF E7 5A
CABG:DF DF DF DC DC DC DC DC E8
CAB8:E7 F7 F7 77 77 77 77 77 B6
CAC@:F8 FD FD 1D 1D 1D 1D F9 75
CAC8:FE FF FF C7 C7 C7 C7 C7 OF
CADG:3F 7F 7F 71 76 78 76 77 8A
CAD8:8F DF DF DC 1C 1C 1C DD 5F
CAEG:E7 F7 F7 77 @7 G7 87 F7 39
CAE8:61 G1 G1 G1 @1 G1 G1 O1 TE
CAFG:FF FF FF C®@ C@ CO CO F8 16
CAF8:E@ E@ EG EG EG EG EG EO BE
CB@@:EE EE EE EE EE EE EE EE 97
CB@8:E3 El El El El El El El AG
CB1@:DC DC DC DC DC DF DF DF BC
CB18:77 77 77 77 77 E7 F7 E7 23
CB26:F9 1D 1D 1D 1D FD FD F8 47
CB28:C7 C7 C7 C7 C7 FF FF FE 48
CB36:77 71 71 71 71 7F 7F 3F EC
CB38:DD DC DC DC DC DF DF 8F 15
CB4G:F7 77 77 77 77 F7 F7 E7 8B
CB48:00 7F 60 48 43 46 46 51 C8
CB50:00 FE 06 82 E2 62 62 8A FE
CB58:4E 4F 64 77 7B 7C 7F @0 BB
CB60:72 F2 26 EE DE 3E FE 00 8F
CB68:61 G1 @1 G1 @1 FD FD FD EA
CB70:F8 C@ C@ CO CO FF FF FF DE
John Cameron lives in Newcastle, New
Brunswick, Canada. o
-——
TYPING AIDS
MLX, our machine language entry
program for the 64 and 128, and
The Automatic Proofreader are util-
ities that help you type in Gazette
programs without making mistakes.
To make room for more programs,
we no longer include these labor-
saving utilities in every issue, but
they can be found on each Gazette
Disk and are printed in all issues of
Gazette through June 1990.
lf you don't have access to a
back issue or to one of our disks,
write to us, and we'll send you free
printed copies of both of these
handy programs for you to type in.
We'll also include instructions on
how to type in Gazette programs.
Please enclose a self-addressed,
stamped envelope. Send a self-ad-
dressed disk mailer with appropri-
ate postage to receive these pro-
grams on disk.
Write to Typing Aids, COM-
PUTE's Gazette, 324 West Wen-
dover Avenue, Suite 200, Greens-
boro, North Carolina 27408.